fix: Manual tests and bug fix for static schema discover (PR #559)#663
Merged
aaronsteers merged 4 commits intoaj/feat/unprivileged-discover-for-declarative-static-schemasfrom Jul 18, 2025
Conversation
- Fixed TypeError in ManifestDeclarativeSource._stream_configs() missing required positional argument 'config' - Added empty_config parameter when calling _stream_configs during schema detection - This enables config-free discover to work for static schema connectors Manual testing shows this fixes the immediate TypeError but additional work needed for datetime parsing issues. Co-Authored-By: AJ Steers <aj@airbyte.io>
Contributor
Author
|
Original prompt from AJ Steers: |
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. Testing This CDK VersionYou can test this version of the CDK using the following: # Run the CLI from this branch:
uvx 'git+https://github.com/airbytehq/airbyte-python-cdk.git@devin/1752808596-manual-tests-static-schema-discover#egg=airbyte-python-cdk[dev]' --help
# Update a connector to use the CDK from this branch ref:
cd airbyte-integrations/connectors/source-example
poe use-cdk-branch devin/1752808596-manual-tests-static-schema-discoverHelpful ResourcesPR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
|
- Fix ConnectorTestScenario.connector_root attribute error in source_base.py - Update manual test plan with complete CLI testing results - Document successful config-free discover for source-pokeapi (static schema) - Confirm dynamic schema connectors correctly require config as expected - All local quality checks (MyPy, ruff format, ruff check) pass Key findings: - PR #559 core functionality is working for static schema connectors - source-pokeapi successfully returns catalog without config - source-datascope still has datetime parsing issues (separate fix needed) - Dynamic schema connectors correctly fail without config as expected Co-Authored-By: AJ Steers <aj@airbyte.io>
- Add blank line after AssertionError in connector_base.py - Resolves ruff format check CI failure Co-Authored-By: AJ Steers <aj@airbyte.io>
- Convert relative paths to absolute paths before creating frozen ConnectorTestScenario models - Fixes PyTest failures in CI by preventing attempts to modify frozen Pydantic instances - Local tests now pass: 7 passed, 1 skipped Co-Authored-By: AJ Steers <aj@airbyte.io>
2345164
into
aj/feat/unprivileged-discover-for-declarative-static-schemas
21 of 22 checks passed
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.
Manual Tests and Bug Fixes for PR #559: Config-Free Discover for Static Schema Connectors
Summary
This PR provides comprehensive manual testing for PR #559 (unprivileged and config-free discover for declarative static schemas) and implements critical bug fixes discovered during testing. The main contribution is proving that the feature works for static schema connectors while identifying remaining edge cases.
Key Changes:
ManifestDeclarativeSource._uses_dynamic_schema_loader()preventing discover from startingsource_base.pytest infrastructureconnector_base.pypreventing PyTest executionTest Results:
Review & Testing Checklist for Human
🔴 High Priority (3 items):
_uses_dynamic_schema_loader()addsempty_config: Dict[str, Any] = {}. Verify this doesn't break existing connectors that expect populated configs.ValueError: time data '' does not match format '%d/%m/%Y %H:%M'. Determine if this edge case should block the feature or be addressed separately.🟡 Medium Priority (2 items):
poetry run source-declarative-manifestCLI approach instead of Docker images. Confirm this accurately reflects production behavior.ConnectorTestScenariomodels are constructed. Verify this doesn't affect other test scenarios.Diagram
%%{ init : { "theme" : "default" }}%% graph TD subgraph "Core CDK Files" A["airbyte_cdk/sources/declarative/<br/>manifest_declarative_source.py"]:::major-edit B["airbyte_cdk/test/standard_tests/<br/>source_base.py"]:::minor-edit C["airbyte_cdk/test/standard_tests/<br/>connector_base.py"]:::major-edit end subgraph "Test Connectors" D["source-pokeapi<br/>(static schema)"]:::context E["source-datascope<br/>(static schema)"]:::context F["source-google-sheets<br/>(dynamic schema)"]:::context G["source-google-search-console<br/>(dynamic schema)"]:::context end subgraph "Documentation" H["manual_test_plan_pr559.md"]:::major-edit end A -->|"Fixed _uses_dynamic_schema_loader()<br/>TypeError"| D A -->|"Fixed _uses_dynamic_schema_loader()<br/>TypeError"| E B -->|"Fixed MyPy error"| C C -->|"Fixed Pydantic frozen<br/>instance error"| H D -->|"✅ SUCCESS"| H E -->|"❌ Datetime parsing error"| H F -->|"✅ Correctly requires config"| H G -->|"✅ Correctly fails"| H subgraph Legend L1[Major Edit]:::major-edit L2[Minor Edit]:::minor-edit L3[Context/No Edit]:::context end classDef major-edit fill:#90EE90 classDef minor-edit fill:#87CEEB classDef context fill:#FFFFFFNotes
aj/feat/unprivileged-discover-for-declarative-static-schemas) rather than mainpoetry run source-declarative-manifest discover) to bypass Docker image building issues and directly test CDK changes