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

feat: add support for SCRAM authentication in mongo/DocumentDB #1089

Merged
merged 4 commits into from
Nov 7, 2023

Conversation

re-Tick
Copy link
Contributor

@re-Tick re-Tick commented Nov 7, 2023

Related Issue

  • Auth fails for the DocumentDB which uses SCRAM-SHA-1, in which password is not shared and challenges are used for authentincation.

Closes: #1016

Describe the changes you've made

Added functions to generate the new responses of the SCRAM authentication requests. And uses these functions to pass authentication in test mode for the DocumentDB which uses SCRAM-SHA-1. The user have two ways to pass the authentication for testing:

  • Change the password of the user application to a dummy password(default123) for testing environments. Example: if an API is using an environment variable MONGO_PASSWORD for the creating a mongo url to connect. Then, change the value of the environment variable to "default123" for testing environment so that the keploy generated testcases pass.
  • Or user can use the --mongoPassword to use their password with which they have recorded the testcases.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Code style update (formatting, local variables)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Please let us know if any test cases are added

Have used the sample-go/gin-mongo, tested the changes along with documentDB.

Describe if there is any unusual behaviour of your code(Write NA if there isn't)

A clear and concise description of it.

Checklist:

  • My code follows the style guidelines of this project.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.

adds scram support to authenticate into mongoDb during test. DocumentDB is supported since it uses SCRAM-SHA-1 for authentication

Signed-off-by: re-Tick <jain.ritik.1001@gmail.com>
Signed-off-by: re-Tick <jain.ritik.1001@gmail.com>
Signed-off-by: re-Tick <jain.ritik.1001@gmail.com>
Copy link

sweep-ai bot commented Nov 7, 2023

Apply Sweep Rules to your PR?

  • Apply: All new business logic should have corresponding unit tests.
  • Apply: Refactor large functions to be more modular.

Copy link
Member

@charankamarapu charankamarapu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ship it!

@re-Tick re-Tick merged commit 9a84874 into main Nov 7, 2023
6 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Nov 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[feature]: add support for DocumentDB to mock the external calls
2 participants