Skip to content

test(source-granola): add acceptance-test-config and fix configured catalog - #84276

Open
devin-ai-integration[bot] wants to merge 3 commits into
masterfrom
devin/1786498172-source-granola-acceptance-tests
Open

test(source-granola): add acceptance-test-config and fix configured catalog#84276
devin-ai-integration[bot] wants to merge 3 commits into
masterfrom
devin/1786498172-source-granola-acceptance-tests

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What

source-granola has no acceptance-test-config.yml, so the CDK standard-test harness loads zero scenarios and silently skips check, discover, basic_read and fail_read_with_bad_catalog (plus the docker variants) while the suite still exits 0. The connector's read path has never been exercised by CI.

This PR adds the missing config and corrects the configured catalog. No manifest or connector behavior changes.

Resolves https://github.com/airbytehq/airbyte-internal-issues/issues/16924:

Part of the source-granola certification epic https://github.com/airbytehq/airbyte-internal-issues/issues/16923 (criterion R-1).

How

airbyte_cdk/test/standard_tests/docker_base.py::get_scenarios catches the missing-file error, emits a UserWarning, and returns []; every scenario-parameterized test then reports SKIPPED[NOTSET]. Scenarios are collected only from the spec, connection and basic_read sections' entries that carry a config_path.

  • acceptance-test-config.ymlspec (spec_path: manifest.yaml, the manifest-only convention), connection succeed on secrets/config.json + fail on a new integration_tests/invalid_config.json, discovery, basic_read over both streams with empty_streams: [], incremental with a future state, and full_refresh.
  • integration_tests/configured_catalog.json — the notes cursor was declared as updated_at, which is neither the manifest's DatetimeBasedCursor.cursor_field (created_at) nor a property of the stream's inline schema; corrected to created_at. detailed_notes was missing entirely and is added as full refresh / overwrite.
  • New fixtures integration_tests/invalid_config.json and integration_tests/abnormal_state.json.

Coordination: the epic's incremental sub-issue (https://github.com/airbytehq/airbyte-internal-issues/issues/16931) will switch the notes cursor to updated_at. This PR deliberately makes the catalog match the current manifest state (created_at); that sub-issue should update the catalog alongside the manifest.

Review guide

  1. acceptance-test-config.yml
  2. integration_tests/configured_catalog.json

Test Coverage

This PR is the test coverage — it turns 6 silently-skipped standard tests into executed ones. No unit/mock-server test is added because nothing in the connector's runtime behavior changes.

⚠️ Blocked on a missing test secret — the issue's success criterion (8 passed, 0 skipped) is NOT yet verified.

$ airbyte-ops secrets fetch source-granola
No secrets found for connector: 'source-granola'

$ poe test-integration-tests
5 failed, 5 passed, 4 skipped

The UserWarning: Acceptance test config file not found ... No scenarios will be loaded. and the SKIPPED[NOTSET] pattern are both gone, so the config is now being picked up and the scenarios are parameterized. All 5 failures are the credentialed scenarios failing on an absent secrets/config.json.

metadata.yaml declares SECRET_SOURCE-GRANOLA__CREDS in the airbyte-connector-testing-secret-store GSM store, but that secret does not appear to exist. Using GCP_GSM_CREDENTIALS, listing metadata in dataline-integration-testing succeeded (690 secrets visible, so this is not a permissions failure) and no secret name or label matched GRANOLA; the direct lookup of projects/dataline-integration-testing/secrets/SECRET_SOURCE-GRANOLA__CREDS returned NOT_FOUND.

Action needed from a maintainer with GSM access: provision SECRET_SOURCE-GRANOLA__CREDS with a working Granola API key. Per the evidence in the issue, set start_date to 2025-01-01 (142 notes on the test account) rather than a recent date — there are only 2 notes since 2026-07-01, which would make basic_read/incremental fragile. Until that secret exists, the credentialed acceptance tests will fail in CI as well.

Versioning

dockerImageTag → 0.2.13 (patch), with a matching changelog entry in docs/integrations/sources/granola.md. (Originally 0.2.12; rebumped after #84278 landed 0.2.12 on master.)

I initially left the version alone, reasoning that none of the changed files ship in the connector image. CI disagreed — the source-granola Pre-Release Checks job failed the Connector Version Increment Check — so the bump follows the repo's enforced convention. enableProgressiveRollout is false for this connector, so no -rc.x suffix; manifest-only, so there is no pyproject.toml version to keep in sync.

Declarative-First Evaluation

No custom Python component is introduced or needed — the change is entirely YAML acceptance-test config plus JSON test fixtures, and the manifest is untouched.

Breaking Change Evaluation

Not breaking. No schema, primary key, cursor, spec, stream, or state-format change; the only shipped-artifact change is the version bump itself.

User Impact

None behaviorally — the connector's runtime is unchanged. Users see a new 0.2.12 release whose only content is test coverage.

Can this PR be safely reverted and rolled back?

  • YES 💚

Link to Devin session: https://app.devin.ai/sessions/3a620b0a0b4c48378a75d52405a6dae9

Co-Authored-By: bot_apk <apk@cognition.ai>
@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@github-actions

Copy link
Copy Markdown
Contributor

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

PR Slash Commands

Airbyte Maintainers (that's you!) can execute the following slash commands on your PR:

  • 🛠️ Quick Fixes
    • /format-fix - Fixes most formatting issues.
    • /bump-version - Bumps connector versions, scraping changelog description from the PR title.
      • Bump types: patch (default), minor, major, major_rc, rc, promote.
      • The rc type is a smart default: applies minor_rc if stable, or bumps the RC number if already RC.
      • The promote type strips the RC suffix to finalize a release.
      • Example: /bump-version type=rc or /bump-version type=minor
    • /bump-progressive-rollout-version - Alias for /bump-version type=rc. Bumps with an RC suffix and enables progressive rollout.
  • ❇️ AI Testing and Review (internal link: AI-SDLC Docs):
    • /ai-prove-fix - Runs prerelease readiness checks, including testing against customer connections.
    • /ai-canary-prerelease - Rolls out prerelease to 5-10 connections for canary testing.
    • /ai-review - AI-powered PR review for connector safety and quality gates.
  • 📝 AI Documentation:
    • /ai-docs-review - AI-powered documentation review for PRs with connector changes.
    • /ai-create-docs-pr - Creates a documentation PR for connector changes, stacked on the current PR.
  • 🚀 Connector Releases:
    • /publish-connectors-prerelease - Publishes pre-release connector builds (tagged as {version}-preview.{git-sha}) for all modified connectors in the PR.
    • /enable-autopilot-rollouts - Enables autopilot progressive rollouts for the modified connector(s) in the PR, remediating "autopilot rollouts not enabled for {connector-name}" auto-merge blockers. Sets defaultRolloutMode: autopilot and enableProgressiveRollout: true, preserving any existing autopilotConfig.
      • Optional args: connector=<CONNECTOR_NAME> (defaults to the modified connectors in the PR), strategy=fast|slow|default (defaults to fast).
      • Example: /enable-autopilot-rollouts or /enable-autopilot-rollouts connector=source-faker strategy=slow
  • ☕️ JVM connectors:
    • /update-connector-cdk-version connector=<CONNECTOR_NAME> - Updates the specified connector to the latest CDK version.
      Example: /update-connector-cdk-version connector=destination-bigquery
  • 🐍 Python connectors:
    • /poe connector source-example lock - Run the Poe lock task on the source-example connector, committing the results back to the branch.
    • /poe source example lock - Alias for /poe connector source-example lock.
    • /poe source example use-cdk-branch my/branch - Pin the source-example CDK reference to the branch name specified.
    • /poe source example use-cdk-latest - Update the source-example CDK dependency to the latest available version.
  • ⚙️ Admin commands:
    • /force-merge reason="<REASON>" - Force merges the PR using admin privileges, bypassing CI checks. Requires a reason.
      Example: /force-merge reason="CI is flaky, tests pass locally"
📚 Show Repo Guidance

Helpful Resources

📝 Edit this welcome message.

@github-actions

Copy link
Copy Markdown
Contributor

Note

Autopilot progressive rollouts are not enabled for the following modified connector(s):

  • source-granola

This is a courtesy heads-up only — it does not block merge or fail any check.
To enable automatic progressive rollouts for the connector(s) above, comment
/enable-autopilot-rollouts on this PR. This sets defaultRolloutMode: autopilot
and enableProgressiveRollout: true in each connector's metadata.yaml,
preserving any existing autopilotConfig.

@pnilan
Patrick Nilan (pnilan) marked this pull request as ready for review August 12, 2026 01:35
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

source-granola Connector Test Results

5 tests   2 ✅  5s ⏱️
1 suites  2 💤
1 files    1 ❌

For more details on these failures, see this check.

Results for commit 7fd5c0e.

♻️ This comment has been updated with latest results.

Co-Authored-By: bot_apk <apk@cognition.ai>
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Deploy preview for airbyte-docs ready!

Project:airbyte-docs
Status: ✅  Deploy successful!
Preview URL:https://airbyte-docs-rcb13w3dc-airbyte-growth.vercel.app
Latest Commit:7fd5c0e

Deployed with vercel-action

Co-Authored-By: bot_apk <apk@cognition.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

connectors/source/granola hyd-fix Hydra: ai-fix stage has run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants