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: implemented pass through feature for postgres parser #1149

Merged
merged 17 commits into from
Dec 28, 2023

Conversation

EraKin575
Copy link
Contributor

@EraKin575 EraKin575 commented Nov 29, 2023

Related Issue

  • Info about Issue or bug

Closes: #1148

Describe the changes you've made

Added a passthrough feature in postgres parser in case there is failure for matching mocks

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

Please describe the tests(if any). Provide instructions how its affecting the coverage.

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.

Screenshots (if any)

Original Updated
original screenshot updated screenshot

Signed-off-by: EraKin575 <tejaskumar574@gmail.com>
Signed-off-by: EraKin575 <tejaskumar574@gmail.com>
Signed-off-by: EraKin575 <tejaskumar574@gmail.com>
Signed-off-by: EraKin575 <tejaskumar574@gmail.com>
Copy link

sweep-ai bot commented Nov 29, 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.
  • Apply: Add docstrings to all functions and file headers.

@Sarthak160
Copy link
Member

Sarthak160 commented Dec 1, 2023

@EraKin575 Please follow the proper commit semantics. You can refer this - https://www.npmjs.com/package/commitizen

@Sarthak160 Sarthak160 changed the title implemented pass through feature for postgres parser feat: implemented pass through feature for postgres parser Dec 25, 2023
@Sarthak160
Copy link
Member

@EraKin575, In the if condition , ideally we should also handle the case if mocks are not loaded till then, so we should call the continue statement after the error handling of the passtrough. Please add that as well !

Signed-off-by: EraKin575 <tejaskumar574@gmail.com>
@Sarthak160
Copy link
Member

Sarthak160 commented Dec 27, 2023

@EraKin575 Since passthrough returns nil buffer we dont need to store it in a variable it's not good practice. And also please always do go mod tidy and proper linting practices before pushing any code. See the build logs it's failing because of the error package import but not used anywhere.

                 if !matched {
			_, err = util.Passthrough(clientConn, destConn, pgRequests, h.Recover, logger)
			if err != nil {
				logger.Error("failed to match the dependency call from user application", zap.Any("request packets", len(pgRequests)))
				return err
			}
			continue
		}

Signed-off-by: EraKin575 <tejaskumar574@gmail.com>
Copy link
Member

@Sarthak160 Sarthak160 left a comment

Choose a reason for hiding this comment

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

LGTM

@Sarthak160 Sarthak160 merged commit 9bf6f28 into keploy:main Dec 28, 2023
13 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Dec 28, 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.

implement passthrough for postgres in case it fails to get a mock(similiar to mongo)
2 participants