Skip to content

More thorough integration tests for pg, redshift, snowflake, bq#27

Merged
kmacrow merged 7 commits into
masterfrom
integration-tests-v2
Aug 13, 2025
Merged

More thorough integration tests for pg, redshift, snowflake, bq#27
kmacrow merged 7 commits into
masterfrom
integration-tests-v2

Conversation

@kmacrow

@kmacrow kmacrow commented Aug 12, 2025

Copy link
Copy Markdown
Collaborator
  • Adds integration tests for all supported connectors
  • Misc. small fixes, improvements, hardening to the the connectors
  • Adds workflow to run the Postgresql connector (source + destination) tests on every PR as a smoke test

Comment on lines +30 to +32
How this test works:
- Assumes you have a Postgresql instance with the test data loaded (see README)
- Assumes you have configured corresponding ENV vars in .env (see README)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is this is a readme somewhere?

@kmacrow kmacrow Aug 12, 2025

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Updated to include paths to the README, that's referring to the data-transfer/pontoon/README

Comment on lines +92 to +95
stream_size = ds.size(stream)
if stream_size == 0:
progress.message("No records to process for this stream")
continue

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is it possible to have this at a higher level instead of having it in each destination connector?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

it'd definitely be possible in the orchestration layer (somewhere around here) to remove zero-length streams from the Dataset before passing it to destination.write(), but I kind of think the connectors should be able to gracefully handle an empty stream since nothing in the interface contract prevents passing one in. Another thing we could do (but might actually be less clear) would be making the Dataset.streams iterator skip empty streams, but that limits a connector's ability to do something (bookkeeping / logging?) with empty streams.

@kmacrow kmacrow merged commit f652eb5 into master Aug 13, 2025
3 checks passed
@kmacrow kmacrow deleted the integration-tests-v2 branch August 13, 2025 17:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants