-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
Write DAT(s) that test different type combinations #10325
Write DAT(s) that test different type combinations #10325
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
While testing the PR using S3, Mysql, and BigQuery Denormalized, I found several places to improve our acceptance tests. The improvements require minor investigation for destinations. So, it makes sense to do them as part of the integration-specific destinations with the new tests.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice! I really like this structure :) didn't read through the test data in detail, but it seemed reasonable 👍
Added one question and a couple very small comments, otherwise LGTM! 🚛
return Arguments.of(testConfig.messageFile, testConfig.catalogFile, testConfig.testCompatibility); | ||
} | ||
|
||
public record TestCompatibility(boolean requireBasicCompatibility, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
checking my understanding: once the items in your comment are resolved, this will be true for all destinations?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, we need to upgrade our abstract test part for the proper result validation. As it's a common part, we apply it for all future destinations after we do for one destination.
...rc/main/java/io/airbyte/integrations/standardtest/destination/DestinationAcceptanceTest.java
Outdated
Show resolved
Hide resolved
return; | ||
|
||
final AirbyteCatalog catalog = readCatalogFromFile(catalogFilename); | ||
final ConfiguredAirbyteCatalog configuredCatalog = getDefaultAirbyteCatalog(catalog); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: can this just call CatalogHelpers.toDefaultConfiguredCatalog
directly?
…java/io/airbyte/integrations/standardtest/destination/DestinationAcceptanceTest.java Co-authored-by: Edward Gao <edward.gao@airbyte.io>
…type-acceptence-test
…ce-test' into aleonets/9443-data-type-acceptence-test
/test connector=connectors/source-mysql
|
What
Write Data type tests for destinations.
#9443
How
Implement a new test in the acceptance test. The test should cover different combinations of destinations. For example, not all destinations support arrays or objects.
In addition, by default, the test should not be executed without an integration change from the destination side.
Recommended reading order
DestinationAcceptanceTest.java
DataTypeTestArgumentProvider.java