@InternalApi public class LocalDatastoreHelper extends BaseEmulatorHelper<DatastoreOptions>
This class is unstable.
BaseEmulatorHelper.DownloadableEmulatorRunner, BaseEmulatorHelper.EmulatorRunner, BaseEmulatorHelper.GcloudEmulatorRunner
DEFAULT_HOST, DEFAULT_PORT, PROJECT_ID_PREFIX
Modifier and Type | Method and Description |
---|---|
static LocalDatastoreHelper |
create()
Creates a local Datastore helper with a placeholder project ID and the default consistency
setting of 0.9.
|
static LocalDatastoreHelper |
create(double consistency)
Creates a local Datastore helper with the specified settings for project ID and consistency.
|
static LocalDatastoreHelper |
create(double consistency,
int port)
Creates a local Datastore helper with the specified settings for project ID and consistency.
|
static LocalDatastoreHelper |
create(int port)
Creates a local Datastore helper with a placeholder project ID and the default consistency
setting of 0.9.
|
double |
getConsistency()
Returns the consistency setting for the local Datastore emulator.
|
protected List<BaseEmulatorHelper.EmulatorRunner> |
getEmulatorRunners()
Returns the emulator runners supported by this emulator.
|
protected Logger |
getLogger()
Returns a logger.
|
DatastoreOptions |
getOptions()
Returns a
DatastoreOptions instance that sets the host to use the Datastore emulator on
localhost. |
DatastoreOptions |
getOptions(String namespace)
Returns a
DatastoreOptions instance that sets the host to use the Datastore emulator on
localhost. |
void |
reset()
Resets the internal state of the Datastore emulator.
|
void |
start()
Starts the local Datastore emulator through
gcloud , downloads and caches the zip file
if user does not have gcloud or a compatible emulator version installed. |
void |
stop()
Stops the Datastore emulator.
|
void |
stop(org.threeten.bp.Duration timeout)
Stops the Datastore emulator.
|
findAvailablePort, getPort, getProjectId, isWindows, sendPostRequest, startProcess, waitForProcess
protected List<BaseEmulatorHelper.EmulatorRunner> getEmulatorRunners()
BaseEmulatorHelper
getEmulatorRunners
in class BaseEmulatorHelper<DatastoreOptions>
protected Logger getLogger()
BaseEmulatorHelper
getLogger
in class BaseEmulatorHelper<DatastoreOptions>
public DatastoreOptions getOptions()
DatastoreOptions
instance that sets the host to use the Datastore emulator on
localhost.getOptions
in class BaseEmulatorHelper<DatastoreOptions>
public DatastoreOptions getOptions(String namespace)
DatastoreOptions
instance that sets the host to use the Datastore emulator on
localhost. The default namespace is set to namespace
.public double getConsistency()
public static LocalDatastoreHelper create(double consistency)
consistency
- the fraction of Datastore writes that are immediately visible to global
queries, with 0.0 meaning no writes are immediately visible and 1.0 meaning all writes are
immediately visible. Note that setting this to 1.0 may mask incorrect assumptions about the
consistency of non-ancestor queries; non-ancestor queries are eventually consistent.public static LocalDatastoreHelper create(double consistency, int port)
consistency
- the fraction of Datastore writes that are immediately visible to global
queries, with 0.0 meaning no writes are immediately visible and 1.0 meaning all writes are
immediately visible. Note that setting this to 1.0 may mask incorrect assumptions about the
consistency of non-ancestor queries; non-ancestor queries are eventually consistent.port
- the port to be used to start the emulator service. Note that setting this to 0 the
emulator will search for a free random port.public static LocalDatastoreHelper create(int port)
port
- the port to be used to start the emulator service. Note that setting this to 0 the
emulator will search for a free random port.public static LocalDatastoreHelper create()
public void start() throws IOException, InterruptedException
gcloud
, downloads and caches the zip file
if user does not have gcloud
or a compatible emulator version installed.
Currently the emulator does not persist any state across runs.
start
in class BaseEmulatorHelper<DatastoreOptions>
IOException
InterruptedException
public void reset() throws IOException
When running tests, one might reset()
before each test, so earlier tests would not
affect later ones.
reset
in class BaseEmulatorHelper<DatastoreOptions>
IOException
public void stop(org.threeten.bp.Duration timeout) throws IOException, InterruptedException, TimeoutException
It is important to stop the emulator. Since the emulator runs in its own process, not stopping it might cause it to become orphan.
It is not required to call reset()
before stop
.
stop
in class BaseEmulatorHelper<DatastoreOptions>
timeout
- The duration to wait for the emulator process to stop. It is recommended to set
this value high to ensure proper shutdown, like 5 seconds or more.IOException
InterruptedException
TimeoutException
public void stop() throws IOException, InterruptedException, TimeoutException
stop(Duration)
but with timeout duration of
20 seconds.
It is important to stop the emulator. Since the emulator runs in its own process, not stopping it might cause it to become orphan.
It is not required to call reset()
before stop()
.
Copyright © 2019 Google LLC. All rights reserved.