Change integration testing strategy to use test apps with common interface (by integration class) and abstracted test cases by integration class #6628
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.
What does this PR do?
This PR introduces a simpler, more structured approach to testing for integrations. Our team is looking to provide more structure to integration testing, whereas tests have generally just been written by Engineers with no specific format, cases to test, etc, and instead, just by vibes of whatever the engineer feels important to test. To do this, we are looking to do the following:
- each class abstraction will have common tests to run for all integrations of that class.
database
integrations trace adb.query
method, and thedb.query
span contains all expected base and database tags, such asdb.name
,db.statement
, etc.Currently, the PR references some APM semantics files that are not included in the PR, they will be hosted in another repository and can be pulled in.
The PR also creates an integration test helper function that handles all setup for the integration tests. It hides all unnecessary boilerplate, such as the loading of the mock agent, loading of the tracer, the import of the library from the versions folder, and other stuff like cleanup. Integration test files now only contain 100% necessary lines.
Motivation
Plugin Checklist
Additional Notes