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 Classes Modifier and Type Class Description static classLocalDatastoreHelper.BuilderA builder forLocalDatastoreHelperobjects.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static 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.doublegetConsistency()Returns the consistency setting for the local Datastore emulator.protected List<com.google.cloud.testing.BaseEmulatorHelper.EmulatorRunner>getEmulatorRunners()PathgetGcdPath()Returns the data directory path of the local Datastore emulator.protected LoggergetLogger()DatastoreOptionsgetOptions()Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost.DatastoreOptionsgetOptions(String namespace)Returns aDatastoreOptionsinstance that sets the host to use the Datastore emulator on localhost.booleanisStoreOnDisk()Returnstruedata persist on disk, otherwisefalsedata not store on disk.static LocalDatastoreHelper.BuildernewBuilder()Returns a builder forLocalDatastoreHelperobject.voidreset()Resets the internal state of the Datastore emulator.DatastoreOptions.BuildersetNamespace(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.LocalDatastoreHelper.BuildertoBuilder()Returns a builder forLocalDatastoreHelperobject.
-
-
-
Method Detail
-
toBuilder
public LocalDatastoreHelper.Builder toBuilder()
Returns a builder forLocalDatastoreHelperobject.
-
newBuilder
public static LocalDatastoreHelper.Builder newBuilder()
Returns a builder forLocalDatastoreHelperobject.
-
getEmulatorRunners
protected List<com.google.cloud.testing.BaseEmulatorHelper.EmulatorRunner> getEmulatorRunners()
- Specified by:
getEmulatorRunnersin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
-
getLogger
protected Logger getLogger()
- Specified by:
getLoggerin classcom.google.cloud.testing.BaseEmulatorHelper<DatastoreOptions>
-
getOptions
public 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
public DatastoreOptions getOptions(String namespace)
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
public DatastoreOptions.Builder setNamespace(String namespace)
-
getConsistency
public double getConsistency()
Returns the consistency setting for the local Datastore emulator.
-
getGcdPath
public Path 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
public static LocalDatastoreHelper create(double consistency)
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
public static LocalDatastoreHelper create(double consistency, int port)
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
public static LocalDatastoreHelper create(int port)
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
public static LocalDatastoreHelper 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
public void start() throws IOException, InterruptedExceptionStarts 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
public void reset() throws IOExceptionResets 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, TimeoutExceptionStops 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
public void stop() throws IOException, InterruptedException, TimeoutExceptionStops 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().
-
-