Make AWS SDK required for AWS authentication when no explicit AWS credentials are provided in the URI / options

XMLWordPrintableJSON

    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Use Case

      As a driver engineer,
      I want reliable, easy-to-maintain AWS auth tests,
      So that I feel confident in our AWS authentication tests.

      Supporting both the AWS SDK for auth and reading environment variables leads to divergent code paths in the driver.  This leads to difficulties testing, where we must duplicate our test cases for each authentication flow that the driver supports natively.  This also leads to a fair amount of overhead when writing "meta tests" - where we must assert that the AWS SDK is or is not installed as required before we run our tests.  

      These tests are hard to get right.  

      Supporting two authentication flows has caused at least one bug: https://jira.mongodb.org/browse/NODE-6987.

      User Experience

      • Users will need to install the AWS sdk to use AWS authentication.

      Dependencies

      • n/a

      Risks/Unknowns

      • What could go wrong while implementing this change? (e.g., performance, inadvertent behavioral changes in adjacent functionality, existing tech debt, etc)
      • Is there an opportunity for better cross-driver alignment or testing in this area?
      • Is there an opportunity to improve existing documentation on this subject?

      Acceptance Criteria

      Implementation Requirements

      • Remove all logic that supports AWS authentication without the AWS sdk.
      • Remove all tests for AWS auth without the SDK.

      Testing Requirements

      • all tests pass.

      Documentation Requirements

      • Ensure the docs mention that the AWS sdk is required for AWS authentication.

      Follow Up Requirements

      • n/a

            Assignee:
            Unassigned
            Reporter:
            Bailey Pearson
            None
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: