Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-6505

Set up a FLE test suite in Mongoose using drivers-evergreen-tools

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None
    • Not Needed

      Use Case

      As a... engineer
      I want... to support mongoose CSFLE/QE integration tests
      So that... I can ensure that mongoose supports CSFLE/QE

      Acceptance Criteria

      Implementation Requirements

      • Add tooling in Mongoose that uses drivers-evergreen-tools to set up a cluster 
        • Latest server version, sharded cluster, auth enabled, only shared library
        • All tests with local KMS providers
      • Set up a new Github action that starts a cluster configured for FLE and runs the encryption test suite
        • Only test on linux, no need to test cross-platform
        • Run GHA on PR open to main and commit to main, maybe remove the PR trigger after FLE work is done.
        • (note: we need to install mongodb-client-encryption as package for this test run)
      • Update any testing documentation in Mongoose to include instructions about how to test with the new test suite and how to use the new cluster setup tooling
      • Create a new test suite for encryption tests
        • This test suite must NOT run during regular Mongoose test runs (omit from npm test).
        • This test suite requires FLE to be enabled
        • Add a test that ensures that autoEncryption is set on the cluster
      • Create an mongodb autoencrypted client and encrypt something

       

      Reference:

      https://github.com/mongodb/node-mongodb-native/blob/mongoose-poc/test/integration/client-side-encryption/mongoose-poc.test.ts

      https://github.com/mongodb-js/zstd/blob/NODE-6539/.github/workflows/test.yml

      Testing Requirements

      • Create a new test directory (or file) to hold encryption tests and set up infrastructure to run it (and don’t run it during the regular CI runs
        • Add a test that ensures that autoEncryption is set on the cluster
        • Create an mongodb autoencrypted client and encrypt something

            Assignee:
            aditi.khare@mongodb.com Aditi Khare
            Reporter:
            bailey.pearson@mongodb.com Bailey Pearson
            Bailey Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: