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.getGrpcTransportOptions(com.google.cloud.grpc.GrpcTransportOptions grpcTransportOptions) Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost.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.booleanReturnstrueuse firestore-in-datastore-mode, otherwisefalseuse native mode.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) This method is obsolete.voidstopDuration(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, waitForProcessDuration
-
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.
-
getGrpcTransportOptions
public DatastoreOptions getGrpcTransportOptions(com.google.cloud.grpc.GrpcTransportOptions grpcTransportOptions) Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost. The transportOptions is set togrpcTransportOptions. -
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. -
isFirestoreInDatastoreMode
public boolean isFirestoreInDatastoreMode()Returnstrueuse firestore-in-datastore-mode, otherwisefalseuse native mode. -
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
@ObsoleteApi("Use stopDuration(java.time.Duration) instead") public void stop(org.threeten.bp.Duration timeout) throws IOException, InterruptedException, TimeoutException This method is obsolete. UsestopDuration(java.time.Duration)instead- Specified by:
stopin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>- Throws:
IOExceptionInterruptedExceptionTimeoutException
-
stopDuration
public void stopDuration(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.- Overrides:
stopDurationin 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 asstopDuration(java.time.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().
-