upgrade python version to 3.12#30
Open
akkumar-qlik wants to merge 9 commits intoSAC-30240-tap-codat-standardize-statefrom
Open
upgrade python version to 3.12#30akkumar-qlik wants to merge 9 commits intoSAC-30240-tap-codat-standardize-statefrom
akkumar-qlik wants to merge 9 commits intoSAC-30240-tap-codat-standardize-statefrom
Conversation
…nger-io/tap-codat into SAC-28697-tap-codat-upgrade-python-version
There was a problem hiding this comment.
Pull request overview
This PR updates the CI environment to run on Python 3.12 and adds a comprehensive new suite of unit + integration tests for the tap_codat tap (covering discovery, sync/state/bookmark behavior, HTTP client handling, and datetime transforms).
Changes:
- Update CircleCI config to use Python 3.12 and run unit tests with coverage + separate integration tests.
- Add extensive
unittest-style unit tests undertests/unittests/for core modules. - Add mock-based integration tests under
tests/(with sharedtests/base.py) and remove an older legacy test file.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
.circleci/config.yml |
Switch CI to CircleCI 2.1, Python 3.12 venv, run unit tests w/ coverage + run integration tests. |
tests/base.py |
Introduce shared mock API data + helpers for integration tests. |
tests/test_all_fields.py |
Integration coverage validating full field replication across streams using mock responses. |
tests/test_automatic_fields.py |
Integration coverage validating all discovered fields are marked inclusion=automatic. |
tests/test_bookmark.py |
Integration coverage for bookmark/state behavior during incremental syncs. |
tests/test_discovery.py |
Integration coverage for discovery output correctness (streams, keys, schema). |
tests/test_pagination.py |
Integration coverage for pagination behavior with mocked responses. |
tests/test_start_date.py |
Integration coverage for start_date behavior in incremental vs full-table streams. |
tests/test_sync.py |
End-to-end integration tests for sync() and CLI entrypoint behaviors. |
tests/test_sync_canary.py |
Canary integration tests to ensure the pipeline emits schemas/records. |
tests/unittests/__init__.py |
Make tests/unittests importable as a package. |
tests/unittests/test_client.py |
Unit tests for HTTP client URL building and response handling. |
tests/unittests/test_discover.py |
Unit tests for discovery helpers, catalog metadata, and stream configuration. |
tests/unittests/test_init.py |
Broad unit tests covering multiple modules (state/transform/http/context/discover/sync). |
tests/unittests/test_state.py |
Unit tests for state load/save/incorporation and bookmark parsing. |
tests/unittests/test_sync.py |
Unit tests for Context, stream sync helpers, formatting, and main sync behavior. |
tests/unittests/test_transform.py |
Unit tests for datetime path discovery + transformation utilities. |
test/test_report_flattening.py |
Remove legacy flattening test under the old test/ path. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
| name: 'JSON Validator' | ||
| command: | | ||
| source /usr/local/share/virtualenvs/tap-tester/bin/activate | ||
| source /usr/local/share/virtualenvs/tap-codat/bin/activate |
RushiT0122
reviewed
Mar 31, 2026
RushiT0122
approved these changes
Mar 31, 2026
RushiT0122
left a comment
There was a problem hiding this comment.
Approved but please fix changelog as suggested before merging.
Co-authored-by: Rushikesh Todkar <98420315+RushiT0122@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description of change
(write a short description or paste a link to JIRA)
Manual QA steps
Risks
Rollback steps
AI generated code
https://internal.qlik.dev/general/ways-of-working/code-reviews/#guidelines-for-ai-generated-code