I'm migrating from the App Engine Datastore API to the Cloud Datastore API (so that I can connect to Datastore from a VPS). A happy thing about the previous API is that it didn't spin up a separate emulator process (5+ seconds) when helper.setUp() is called. With the Cloud Datastore API, it's a different model, so it's a little slower.
I don't want to have to entirely restart my Datastore emulator between tests, but I want a clean slate. Can I either:
I've looked through LocalDatastoreHelper, DatastoreOptions and Datastore itself, but I can't find any immediately solutions to my problem.
Note: I can't just @After and delete a set of keys, since some tests involve letting Datastore choose the id of an inserted entity
Fat-fingered ctrl-enter when entering the title, and posted a blank issue. It's all filled out now :)
@mitchhentges Thanks for the report. You are totally right LocalDatastoreHelper is missing a reset() method. I opened #1293 to fix this.
In the meantime you can reset the emulator yourself by sending a POST request to http://<host>:<port>/reset.
I get a java.lang.NullPointerException when doing:
curl -X POST http://localhost:8081/reset
I'm with version 2.1.0...
│ Cloud Datastore Emulator │ 2.1.0 │ 18.4 MiB │
EDIT: Oh I now realize it works with the flag no-store-on-disk:
gcloud beta emulators datastore start --no-store-on-disk
Still null pointer exception without flag --no-store-on-disk. Why can't this be a more clear error message?
Most helpful comment
I get a java.lang.NullPointerException when doing:
curl -X POST http://localhost:8081/reset
I'm with version 2.1.0...
│ Cloud Datastore Emulator │ 2.1.0 │ 18.4 MiB │
EDIT: Oh I now realize it works with the flag no-store-on-disk:
gcloud beta emulators datastore start --no-store-on-disk