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

Merge origin/master into source-granola acceptance tests

7fd5c0e
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
GitHub Actions / `source-granola` Connector Test Results failed Aug 12, 2026 in 0s

1 fail, 2 skipped, 2 pass in 5s

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

Results for commit 7fd5c0e. ± Comparison against earlier commit b2daa5f.

Annotations

Check warning on line 0 in .tmp.integration_tests.test_airbyte_standards.TestSuite

See this annotation in the file changed.

@github-actions github-actions / `source-granola` Connector Test Results

test_docker_image_build_and_check['config' Test Scenario] (.tmp.integration_tests.test_airbyte_standards.TestSuite) failed

airbyte-integrations/connectors/source-granola/build/test-results/standard-tests-junit.xml [took 0s]
Raw output
FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/airbyte/airbyte/airbyte-integrations/connectors/source-granola/secrets/config.json'
self = <airbyte_cdk.test.standard_tests.util.TestSuiteAuto object at 0x7ff7d0f5e710>
scenario = ConnectorTestScenario(config_path=PosixPath('secrets/config.json'), config_dict=None, configured_catalog_path=None, empty_streams=[], timeout_seconds=None, expect_records=None, file_types=None, status='succeed')
connector_image_override = 'airbyte/source-granola:dev-latest'
connector_base_image_override = None

    @pytest.mark.skipif(
        shutil.which("docker") is None,
        reason="docker CLI not found in PATH, skipping docker image tests",
    )
    @pytest.mark.image_tests
    def test_docker_image_build_and_check(
        self,
        scenario: ConnectorTestScenario,
        connector_image_override: str | None,
        connector_base_image_override: str | None,
    ) -> None:
        """Run `docker_image` acceptance tests.
    
        This test builds the connector image and runs the `check` command inside the container.
    
        Note:
          - It is expected for docker image caches to be reused between test runs.
          - In the rare case that image caches need to be cleared, please clear
            the local docker image cache using `docker image prune -a` command.
        """
        tag = "dev-latest"
        connector_root = self.get_connector_root_dir()
        metadata = MetadataFile.from_file(connector_root / "metadata.yaml")
        connector_image: str | None = connector_image_override
        if not connector_image:
            tag = "dev-latest"
            connector_image = build_connector_image(
                connector_name=connector_root.absolute().name,
                connector_directory=connector_root,
                metadata=metadata,
                tag=tag,
                no_verify=False,
                base_image_override=connector_base_image_override,
            )
    
        container_config_path = "/secrets/config.json"
>       with scenario.with_temp_config_file(
            connector_root=connector_root,
        ) as temp_config_file:

/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/standard_tests/docker_base.py:293: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/contextlib.py:137: in __enter__
    return next(self.gen)
/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/models/scenario.py:133: in with_temp_config_file
    config = self.get_config_dict(
/home/runner/.local/share/uv/tools/airbyte-cdk/lib/python3.11/site-packages/airbyte_cdk/test/models/scenario.py:93: in get_config_dict
    yaml.safe_load(config_path.read_text()),
/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/pathlib.py:1058: in read_text
    with self.open(mode='r', encoding=encoding, errors=errors) as f:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = PosixPath('/home/runner/work/airbyte/airbyte/airbyte-integrations/connectors/source-granola/secrets/config.json')
mode = 'r', buffering = -1, encoding = 'locale', errors = None, newline = None

    def open(self, mode='r', buffering=-1, encoding=None,
             errors=None, newline=None):
        """
        Open the file pointed by this path and return a file object, as
        the built-in open() function does.
        """
        if "b" not in mode:
            encoding = io.text_encoding(encoding)
>       return io.open(self, mode, buffering, encoding, errors, newline)
E       FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/airbyte/airbyte/airbyte-integrations/connectors/source-granola/secrets/config.json'

/opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/pathlib.py:1044: FileNotFoundError