kane klipka
10/17/2024, 6:58 PMuser
10/17/2024, 6:59 PMhigh
test strictness level, there are certain expectations and potential issues that can arise. 1. All acceptance tests should be declared. These include spec
, connection
, discovery
, basic_read
, full_refresh
, and incremental
. If a test can't be run due to a valid technical or organizational reason, a bypass_reason
can be declared to skip this test. For example, if a source like source-pokeapi
does not support incremental syncs, this test can be skipped by setting a bypass_reason
under incremental
([source](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference#test-enforcements-in-high-test-strictness-level)). yaml connector_image: "airbyte/source-pokeapi" test_strictness_level: high acceptance_tests: incremental: bypass_reason: "Incremental syncs are not supported on this connector."
2. In high
test strictness level, it is expected that all streams declared in empty-streams
should have a bypass_reason
filled in. If a stream can't be seeded with test data, it should be declared as empty_stream
with an explicit bypass reason ([source](https://docs.airbyte.com/connector-development/testing-connectors/connector-acceptance-tests-reference#test-enforcements-in-high-test-strictness-level)). yaml connector_image: airbyte/source-recharge:dev test_strictness_level: high acceptance_tests: basic_read: tests: - config_path: secrets/config.json empty_streams: - name: collections bypass_reason: "This stream can't be seeded in our sandbox account" - name: discounts bypass_reason: "This stream can't be seeded in our sandbox account"
3. If the sync does not produce at least one STATE message, it will result in an AssertionError ([source](https://discuss.airbyte.io/t/947)). python assert states, "The sync should produce at least one STATE message"
These are some of the expected issues that can arise during source tests in Airbyte v1.