# LocalDatastoreServiceTestConfig
Date: 2011-08-17

## com.google.appengine.tools.development.testing
Class LocalDatastoreServiceTestConfig

    java.lang.Object
      com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig

All Implemented Interfaces:
  LocalServiceTestConfig

    public final class LocalDatastoreServiceTestConfig

extends java.lang.Object
implements LocalServiceTestConfig

Config for accessing the local datastore service in tests. Default behavior is to configure the local datastore to only store data in-memory, to not write anything to disk, and for all jobs to apply on the first attempt (master/slave consistency model). `tearDown()` wipes out all in-memory state so that the datastore is empty at the end of every test.

Constructor Summary
`LocalDatastoreServiceTestConfig()`

Method Summary
`java.lang.Class<? extends HighRepJobPolicy>` `getAlternateHighRepJobPolicyClass()`
`java.lang.String` `getBackingStoreLocation()`
`java.lang.Long` `getDefaultHighRepJobPolicyRandomSeed()`
`java.lang.Float` `getDefaultHighRepJobPolicyUnappliedJobPercentage()`
`static LocalDatastoreService` `getLocalDatastoreService()`
`java.lang.Integer` `getMaxQueryLifetimeMs()`
`java.lang.Integer` `getMaxTxnLifetimeMs()`
`java.lang.Integer` `getStoreDelayMs()`
`boolean` `isNoIndexAutoGen()`
`boolean` `isNoStorage()`
`LocalDatastoreServiceTestConfig` `setAlternateHighRepJobPolicyClass(java.lang.Class<? extends HighRepJobPolicy> alternateHighRepJobPolicyClass)` An alternate `HighRepJobPolicy` implementation.
`LocalDatastoreServiceTestConfig` `setBackingStoreLocation(java.lang.String backingStoreLocation)` Where to read/store the datastore from/to.
`LocalDatastoreServiceTestConfig` `setDefaultHighRepJobPolicyRandomSeed(long defaultHighRepJobPolicyRandomSeed)` A seed for a `Random` used by `DefaultHighRepJobPolicy` to determine whether or not a job application attempt fails.
`LocalDatastoreServiceTestConfig` `setDefaultHighRepJobPolicyUnappliedJobPercentage(float defaultHighRepJobPolicyUnappliedJobPercentage)` The percentage of job application attempts that will fail.
`LocalDatastoreServiceTestConfig` `setMaxQueryLifetimeMs(int maxQueryLifetimeMs)` Sets how long a query can stay "live" before we expire it.
`LocalDatastoreServiceTestConfig` `setMaxTxnLifetimeMs(int maxTxnLifetimeMs)` Sets how long a txn can stay "live" before we expire it.
`LocalDatastoreServiceTestConfig` `setNoIndexAutoGen(boolean noIndexAutoGen)` True to prevent the datastore from writing the auto-generated index file.
`LocalDatastoreServiceTestConfig` `setNoStorage(boolean noStorage)` True to put the datastore into "memory-only" mode.
`LocalDatastoreServiceTestConfig` `setStoreDelayMs(int storeDelayMs)` Sets how long to wait before updating the persistent store.
`void` `setUp()` Set up the local service.
`void` `tearDown()` Tear down the local service.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### LocalDatastoreServiceTestConfig

    public LocalDatastoreServiceTestConfig()

Method Detail

### isNoStorage

    public boolean isNoStorage()

### setNoStorage

    public LocalDatastoreServiceTestConfig setNoStorage(boolean noStorage)

  True to put the datastore into "memory-only" mode.

  Parameters:
    `noStorage` -
  Returns:
    `this` (for chaining)

### getMaxQueryLifetimeMs

    public java.lang.Integer getMaxQueryLifetimeMs()

### setMaxQueryLifetimeMs

    public LocalDatastoreServiceTestConfig setMaxQueryLifetimeMs(int maxQueryLifetimeMs)

  Sets how long a query can stay "live" before we expire it.

  Parameters:
    `maxQueryLifetimeMs` -
  Returns:
    `this` (for chaining)

### getMaxTxnLifetimeMs

    public java.lang.Integer getMaxTxnLifetimeMs()

### setMaxTxnLifetimeMs

    public LocalDatastoreServiceTestConfig setMaxTxnLifetimeMs(int maxTxnLifetimeMs)

  Sets how long a txn can stay "live" before we expire it.

  Parameters:
    `maxTxnLifetimeMs` -
  Returns:
    `this` (for chaining)

### getStoreDelayMs

    public java.lang.Integer getStoreDelayMs()

### setStoreDelayMs

    public LocalDatastoreServiceTestConfig setStoreDelayMs(int storeDelayMs)

  Sets how long to wait before updating the persistent store. Only useful if `isNoStorage()` returns `false`.

  Parameters:
    `storeDelayMs` -
  Returns:
    `this` (for chaining)

### getBackingStoreLocation

    public java.lang.String getBackingStoreLocation()

### setBackingStoreLocation

    public LocalDatastoreServiceTestConfig setBackingStoreLocation(java.lang.String backingStoreLocation)

  Where to read/store the datastore from/to.

  Parameters:
    `backingStoreLocation` -
  Returns:
    `this` (for chaining)

### isNoIndexAutoGen

    public boolean isNoIndexAutoGen()

### setNoIndexAutoGen

    public LocalDatastoreServiceTestConfig setNoIndexAutoGen(boolean noIndexAutoGen)

  True to prevent the datastore from writing the auto-generated index file.

  Parameters:
    `noIndexAutoGen` -
  Returns:
    `this` (for chaining)

### getDefaultHighRepJobPolicyRandomSeed

    public java.lang.Long getDefaultHighRepJobPolicyRandomSeed()

### setDefaultHighRepJobPolicyRandomSeed

    public LocalDatastoreServiceTestConfig setDefaultHighRepJobPolicyRandomSeed(long defaultHighRepJobPolicyRandomSeed)

  A seed for a `Random` used by `DefaultHighRepJobPolicy` to determine whether or not a job application attempt fails. This method cannot be used in combination with `setAlternateHighRepJobPolicyClass(Class)`.

  Parameters:
    `defaultHighRepJobPolicyRandomSeed` - The random seed.
  Returns:
    `this` (for chaining)
  Throws:
    `java.lang.IllegalArgumentException` - If `setAlternateHighRepJobPolicyClass(Class)` has been called.

### getDefaultHighRepJobPolicyUnappliedJobPercentage

    public java.lang.Float getDefaultHighRepJobPolicyUnappliedJobPercentage()

### setDefaultHighRepJobPolicyUnappliedJobPercentage

    public LocalDatastoreServiceTestConfig setDefaultHighRepJobPolicyUnappliedJobPercentage(float defaultHighRepJobPolicyUnappliedJobPercentage)

  The percentage of job application attempts that will fail. Must be >= 0 and <= 100. This validation is performed during the initialization of `LocalDatastoreService`, not in the setter, so it will not fail fast. In addition, any portion of the value beyond two decimal places will be truncated. This method cannot be used in combination with `setAlternateHighRepJobPolicyClass(Class)`.

  Parameters:
    `defaultHighRepJobPolicyUnappliedJobPercentage` - The percentage of job application attempts that should fail.
  Returns:
    `this` (for chaining)
  Throws:
    `java.lang.IllegalArgumentException` - If `setAlternateHighRepJobPolicyClass(Class)` has been called.

### getAlternateHighRepJobPolicyClass

    public java.lang.Class<? extends HighRepJobPolicy> getAlternateHighRepJobPolicyClass()

### setAlternateHighRepJobPolicyClass

    public LocalDatastoreServiceTestConfig setAlternateHighRepJobPolicyClass(java.lang.Class<? extends HighRepJobPolicy> alternateHighRepJobPolicyClass)

  An alternate `HighRepJobPolicy` implementation. The class must have a no-arg constructor, but this validation is performed during the iniitialization of `LocalDatastoreService`, not in the setter, so it will not fail fast. This method cannot be used in combination with `setDefaultHighRepJobPolicyRandomSeed(long)` or `setDefaultHighRepJobPolicyUnappliedJobPercentage(float)`.

  Parameters:
    `alternateHighRepJobPolicyClass` - The `HighRepJobPolicy` implementation.
  Returns:
    `this` (for chaining)
  Throws:
    `java.lang.IllegalArgumentException` - If `setDefaultHighRepJobPolicyRandomSeed(long)` or `setDefaultHighRepJobPolicyUnappliedJobPercentage(float)` has been called.

### setUp

    public void setUp()

  Description copied from interface: `LocalServiceTestConfig`
  Set up the local service.

  Specified by:
    `setUp` in interface `LocalServiceTestConfig`

### tearDown

    public void tearDown()

  Description copied from interface: `LocalServiceTestConfig`
  Tear down the local service.

  Specified by:
    `tearDown` in interface `LocalServiceTestConfig`

### getLocalDatastoreService

    public static LocalDatastoreService getLocalDatastoreService()