Skip to content

Datastore Testing: Wiping data between tests? #1292

Closed

Description

@mitchhentges

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:

  • Still have an in-process datastore implementation to test against, which is fast?
  • Clear the remote emulator datastore, so it doesn't need to be fully restarted?

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

Activity

  1. changed the title [-]Datastore Client API: [/-] [+]Datastore Testing: Wiping data between tests?[/+] on Sep 29, 2016
  2. mitchhentges commented on Sep 29, 2016

    @mitchhentges
    Author

    Fat-fingered ctrl-enter when entering the title, and posted a blank issue. It's all filled out now :)

  3. mziccard commented on Sep 29, 2016

    @mziccard
    Contributor

    @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.

  4. Edouard360 commented on May 4, 2019

    @Edouard360

    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

  5. gertcuykens commented on Jan 11, 2020

    @gertcuykens

    Still null pointer exception without flag --no-store-on-disk. Why can't this be a more clear error message?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions