Config for accessing the local task queue in tests. Default behavior is to
configure the local task queue to not automatically execute any tasks.
tearDown() wipes out all in-memory state so all queues are empty at
the end of every test. LocalTaskQueue configuration are not restored.
tearDown() does not restore default configuration values modified
using:

Constructor Detail

LocalTaskQueueTestConfig

Method Detail

setDisableAutoTaskExecution

Disables/enables automatic task execution. If you enable automatic task
execution, keep in mind that the default behavior is to hit the url that
was provided when the TaskOptions was constructed. If you do not
have a servlet engine running, this will fail. As an alternative to
launching a servlet engine, instead consider providing a
LocalTaskQueueCallback via setCallbackClass(Class) so that
you can assert on the properties of the URLFetchServicePb.URLFetchRequest.
Once set, this value is persistent across tests. If this value needs to be
set for any one test, it should be appropriately configured in the setup
stage for all tests.

Parameters:

disableAutoTaskExecution -

Returns:

this (for chaining)

setQueueXmlPath

Overrides the location of queue.xml. Must be a full path, e.g.
/usr/local/dev/myapp/test/queue.xml
Once set, this value is persistent across tests. If this value needs to be
set for an operation specific to any one test, it should appropriately
configured in the setup stage for all tests.

Parameters:

queueXmlPath -

Returns:

this (for chaining)

setCallbackClass

Overrides the callback implementation used by the local task queue for
async task execution.
Once set, this value is persistent across tests. If this value needs to be
set for any one test, it should be appropriately configured in the setup
stage for all tests.

Parameters:

callbackClass - fully-qualified name of a class with a public, default
constructor that implements LocalTaskQueueCallback.

In this case tasks will be handled locally by new threads and it may be
useful for those threads to use the same environment data as the main test
thread. Properties such as the
appID, and the user
email will be copied
into the environment of the task threads. Be aware that
attribute
map will be shallow-copied to the task thread environents, so that any
mutable objects used as values of the map should be thread safe. If this
property is false then the task handler threads will have an empty
ApiProxy.Environment. This property is false by default.
Once set, this value is persistent across tests. If this value needs to be
set for any one test, it should be appropriately configured in the setup
stage for all tests.

Parameters:

b - should the ApiProxy.Environment be pushed to task handler
threads

Returns:

this (for chaining)

setTaskExecutionLatch

Sets a CountDownLatch that the thread executing the task will
decrement after a LocalTaskQueueCallback finishes execution. This
makes it easy for tests to block until a task queue task runs. Note that
the latch is only used when a callback class is provided (via
setCallbackClass(Class)) and when automatic task execution is
enabled (via setDisableAutoTaskExecution(boolean)). Also note
that a CountDownLatch cannot be reused, so if you have a test that
requires the ability to "reset" a CountDownLatch you can pass an instance
of LocalTaskQueueTestConfig.TaskCountDownLatch, which exposes additional methods that help
with this.
Once set, this value is persistent across tests. If this value needs to be
set for any one test, it should be appropriately configured in the setup
stage for all tests.