Class LocalDatastoreHelper
java.lang.Object
com.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
com.google.cloud.datastore.testing.LocalDatastoreHelper
@InternalApi
public class LocalDatastoreHelper
extends com.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
Utility to start and stop local Google Cloud Datastore emulators.
This class is unstable.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA builder forLocalDatastoreHelperobjects.Nested classes/interfaces inherited from class com.google.cloud.testing.BaseEmulatorHelper
com.google.cloud.testing.BaseEmulatorHelper.DownloadableEmulatorRunner, com.google.cloud.testing.BaseEmulatorHelper.EmulatorRunner, com.google.cloud.testing.BaseEmulatorHelper.GcloudEmulatorRunner -
Field Summary
Fields inherited from class com.google.cloud.testing.BaseEmulatorHelper
DEFAULT_HOST, DEFAULT_PORT, PROJECT_ID_PREFIX -
Method Summary
Modifier and TypeMethodDescriptionstatic LocalDatastoreHelpercreate()Creates a local Datastore helper with a placeholder project ID and the default consistency setting of 0.9.static LocalDatastoreHelpercreate(double consistency) Creates a local Datastore helper with the specified settings for project ID and consistency.static LocalDatastoreHelpercreate(double consistency, int port) Creates a local Datastore helper with the specified settings for project ID and consistency.static LocalDatastoreHelpercreate(int port) Creates a local Datastore helper with a placeholder project ID and the default consistency setting of 0.9.doubleReturns the consistency setting for the local Datastore emulator.protected List<com.google.cloud.testing.BaseEmulatorHelper.EmulatorRunner>Returns the data directory path of the local Datastore emulator.protected LoggerReturns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost.getOptions(String namespace) Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost.booleanReturnstruedata persist on disk, otherwisefalsedata not store on disk.static LocalDatastoreHelper.BuilderReturns a builder forLocalDatastoreHelperobject.voidreset()Resets the internal state of the Datastore emulator.setNamespace(String namespace) voidstart()Starts the local Datastore emulator throughgcloud, downloads and caches the zip file if user does not havegcloudor a compatible emulator version installed.voidstop()Stops the Datastore emulator.voidstop(org.threeten.bp.Duration timeout) Stops the Datastore emulator.Returns a builder forLocalDatastoreHelperobject.Methods inherited from class com.google.cloud.testing.BaseEmulatorHelper
findAvailablePort, getPort, getProjectId, isWindows, sendPostRequest, startProcess, waitForProcess
-
Method Details
-
toBuilder
Returns a builder forLocalDatastoreHelperobject. -
newBuilder
Returns a builder forLocalDatastoreHelperobject. -
getEmulatorRunners
- Specified by:
getEmulatorRunnersin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
-
getLogger
- Specified by:
getLoggerin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
-
getOptions
Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost.- Specified by:
getOptionsin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
-
getOptions
Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost. The default namespace is set tonamespace.Please use setNamespace and then build() instead.
-
setNamespace
-
getConsistency
public double getConsistency()Returns the consistency setting for the local Datastore emulator. -
getGcdPath
Returns the data directory path of the local Datastore emulator. -
isStoreOnDisk
public boolean isStoreOnDisk()Returnstruedata persist on disk, otherwisefalsedata not store on disk. -
create
Creates a local Datastore helper with the specified settings for project ID and consistency.- Parameters:
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.
-
create
Creates a local Datastore helper with the specified settings for project ID and consistency.- Parameters:
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.
-
create
Creates a local Datastore helper with a placeholder project ID and the default consistency setting of 0.9.- Parameters:
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.
-
create
Creates a local Datastore helper with a placeholder project ID and the default consistency setting of 0.9. Consistency refers to 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. -
start
Starts the local Datastore emulator throughgcloud, downloads and caches the zip file if user does not havegcloudor a compatible emulator version installed.Currently the emulator does not persist any state across runs.
- Specified by:
startin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>- Throws:
IOExceptionInterruptedException
-
reset
Resets the internal state of the Datastore emulator.When running tests, one might
reset()before each test, so earlier tests would not affect later ones.- Specified by:
resetin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>- Throws:
IOException
-
stop
public void stop(org.threeten.bp.Duration timeout) throws IOException, InterruptedException, TimeoutException Stops the Datastore emulator.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()beforestop.- Specified by:
stopin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>- Parameters:
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.- Throws:
IOExceptionInterruptedExceptionTimeoutException
-
stop
Stops the Datastore emulator. The same asstop(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()beforestop().
-