Skip to content

Commit 3245f0f

Browse files
committed
catch up with changes on main
1 parent 2345164 commit 3245f0f

File tree

1 file changed

+2
-73
lines changed

1 file changed

+2
-73
lines changed

airbyte_cdk/test/standard_tests/connector_base.py

Lines changed: 2 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,8 @@
88
from pathlib import Path
99
from typing import TYPE_CHECKING, cast
1010

11-
import yaml
12-
from airbyte_protocol_dataclasses.models.airbyte_protocol import AirbyteConnectionStatus
1311
from boltons.typeutils import classproperty
1412

15-
from airbyte_cdk.models import Status
1613
from airbyte_cdk.test import entrypoint_wrapper
1714
from airbyte_cdk.test.models import (
1815
ConnectorTestScenario,
@@ -121,74 +118,6 @@ def test_check(
121118
connector_root=self.get_connector_root_dir(),
122119
)
123120
assert len(result.connection_status_messages) == 1, (
124-
f"Expected exactly one CONNECTION_STATUS message. Got {len(result.connection_status_messages)}: \n"
125-
+ "\n".join([str(m) for m in result._messages or []])
126-
+ "\nErrors: "
127-
+ str(result.errors)
128-
or "None"
121+
f"Expected exactly one CONNECTION_STATUS message. "
122+
"Got: {result.connection_status_messages!s}"
129123
)
130-
conn_status = cast(
131-
AirbyteConnectionStatus, result.connection_status_messages[0].connectionStatus
132-
)
133-
if (
134-
scenario.expected_outcome.expect_exception()
135-
and conn_status.status == Status.SUCCEEDED
136-
and not result.errors
137-
):
138-
raise AssertionError(f"Expected error in `check` but got success.")
139-
140-
@classmethod
141-
def get_connector_root_dir(cls) -> Path:
142-
"""Get the root directory of the connector."""
143-
return find_connector_root([cls.get_test_class_dir(), Path.cwd()])
144-
145-
@classproperty
146-
def acceptance_test_config_path(cls) -> Path:
147-
"""Get the path to the acceptance test config file."""
148-
result = cls.get_connector_root_dir() / ACCEPTANCE_TEST_CONFIG
149-
if result.exists():
150-
return result
151-
152-
raise FileNotFoundError(f"Acceptance test config file not found at: {str(result)}")
153-
154-
@classmethod
155-
def get_scenarios(
156-
cls,
157-
) -> list[ConnectorTestScenario]:
158-
"""Get acceptance tests for a given category.
159-
160-
This has to be a separate function because pytest does not allow
161-
parametrization of fixtures with arguments from the test class itself.
162-
"""
163-
categories = ["connection", "spec"]
164-
all_tests_config = yaml.safe_load(cls.acceptance_test_config_path.read_text())
165-
if "acceptance_tests" not in all_tests_config:
166-
raise ValueError(
167-
f"Acceptance tests config not found in {cls.acceptance_test_config_path}."
168-
f" Found only: {str(all_tests_config)}."
169-
)
170-
171-
test_scenarios: list[ConnectorTestScenario] = []
172-
for category in categories:
173-
if (
174-
category not in all_tests_config["acceptance_tests"]
175-
or "tests" not in all_tests_config["acceptance_tests"][category]
176-
):
177-
continue
178-
179-
test_scenarios.extend(
180-
[
181-
ConnectorTestScenario.model_validate(test)
182-
for test in all_tests_config["acceptance_tests"][category]["tests"]
183-
if "config_path" in test and "iam_role" not in test["config_path"]
184-
]
185-
)
186-
187-
connector_root = cls.get_connector_root_dir().absolute()
188-
for test in test_scenarios:
189-
if test.config_path:
190-
test.config_path = connector_root / test.config_path
191-
if test.configured_catalog_path:
192-
test.configured_catalog_path = connector_root / test.configured_catalog_path
193-
194-
return test_scenarios

0 commit comments

Comments
 (0)