Generate client endpoint tests if test cases have operationInputs or otherwise are viable #4073
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
to ignore test cases that lack operationInputs unless explicitly instructed to include them
Motivation and Context
The generated client endpoint tests aim to provide a more comprehensive e2e test coverage for endpoint rules than the tests that target the resolver itself. However, the client level tests require input parameters in order to work (calling an API).
Prior to this change, we always included all test cases in the generated client endpoint tests independently of whether the test case had the operationInput member or not, and manually added test cases that didn't work to the test skip list. When new tests are added, it requires manual intervention and an increased ops load.
With this change, we only generate tests for the test cases with operationInputs, unless an overriding flag is set. The override flag should be used for services where the codegen can find suitable input parameters without relying on operationInputs, such as endpoint prefix enabled services.
Modifications
generateEndpointClientTests
that overrides the operationInput conditionTesting
The tests for this PR should pass before approval
Types of changes
Checklist
mvn install
succeedsscripts/new-change
script and following the instructions. Commit the new file created by the script in.changes/next-release
with your changes.License