Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the testability of emulator support #2721

Closed
larkee opened this issue Feb 26, 2020 · 4 comments
Closed

Improve the testability of emulator support #2721

larkee opened this issue Feb 26, 2020 · 4 comments
Assignees
Labels
api: bigtable Issues related to the Bigtable API. api: datastore Issues related to the Datastore API. api: firestore Issues related to the Firestore API. api: pubsub Issues related to the Pub/Sub API. api: spanner Issues related to the Spanner API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@larkee
Copy link
Contributor

larkee commented Feb 26, 2020

The emulator support testing is largely untested for all products due to difficulties with testability. This should be fixed!

@larkee larkee added api: datastore Issues related to the Datastore API. api: pubsub Issues related to the Pub/Sub API. api: spanner Issues related to the Spanner API. api: firestore Issues related to the Firestore API. labels Feb 26, 2020
@jdpedrie jdpedrie added the type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. label Feb 26, 2020
@ava12
Copy link
Contributor

ava12 commented Oct 19, 2020

Not sure what the task is. I see system tests for Spanner client that are not supported by the emulator are skipped. @larkee, is that what we need - skip unsupported tests? Or is is there something else to do?

@ava12 ava12 self-assigned this Oct 20, 2020
@ava12
Copy link
Contributor

ava12 commented Oct 20, 2020

Looks like Spanner tests work fine: unsupported tests are skipped, others pass (just don't forget to create test instance). As for other libraries:

  • BigTable: all tests with real server pass, all tests with emulator throw an "UNIMPLEMENTED" error.
  • Datastore: all tests pass.
  • Firestore: all tests pass. The only problem found is flaky FirestoreSessionHandlerTest::testGarbageCollection().
  • PubSub: all tests with real server pass. All REST client tests with emulator throw an "UNIMPLEMENTED" error. gRPC client tests with emulator pass, except for:
    • tests using IAM, subscription detach and topic update throw an "UNIMPLEMENTED" error;
    • tests trying to change pushConfig.attributes or retryPolicy.maximumBackoff throw "INVALID_ARGUMENT";
    • default value for deadLetterPolicy.maxDeliveryAttempts is 0 instead of 5;
    • filtering by message attributes does not work.

@meredithslota
Copy link

@ava12 It's unclear what else remains to be done here — do you know?

@vishwarajanand
Copy link
Contributor

I am closing this issue since we have emulator based tests already setup for FS/DS/Spanner/Bigtable/PubSub.
ref has test workflows which includes starting an emulator for all 5 products listed above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the Bigtable API. api: datastore Issues related to the Datastore API. api: firestore Issues related to the Firestore API. api: pubsub Issues related to the Pub/Sub API. api: spanner Issues related to the Spanner API. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

No branches or pull requests

5 participants