Skip to content

Commit cd3419d

Browse files
refactor: add get_error_message method to EntrypointOutput class
- Move error message extraction logic from test code into reusable method - Simplify error handling in docker_base.py test - Improve code maintainability and reduce duplication - Addresses GitHub PR feedback from @aaronsteers Co-Authored-By: AJ Steers <[email protected]>
1 parent ea016c6 commit cd3419d

File tree

2 files changed

+18
-8
lines changed

2 files changed

+18
-8
lines changed

airbyte_cdk/test/entrypoint_wrapper.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,22 @@ def is_not_in_logs(self, pattern: str) -> bool:
292292
"""Check if no log message matches the case-insensitive pattern."""
293293
return not self.is_in_logs(pattern)
294294

295+
def get_error_message(self) -> str:
296+
"""Extract a formatted error message from error traces."""
297+
if not self.errors:
298+
return "No error messages found"
299+
300+
error_messages = [
301+
f"Error message: {error.trace.error.message}"
302+
for error in self.errors
303+
if error.trace and error.trace.error
304+
]
305+
306+
if not error_messages:
307+
return "No structured error messages found"
308+
309+
return "\n".join(error_messages)
310+
295311
@classmethod
296312
def from_completed_process(
297313
cls,

airbyte_cdk/test/standard_tests/docker_base.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -375,18 +375,12 @@ def test_docker_image_build_and_read(
375375
capture_stdout=True,
376376
)
377377
if read_result.errors:
378-
error_messages = [
379-
f"Error message: {error.trace.error.message}"
380-
for error in read_result.errors
381-
if error.trace and error.trace.error
382-
]
383-
if not error_messages:
384-
error_messages = ["No structured error messages found"]
378+
error_message = read_result.get_error_message()
385379

386380
raise AssertionError(
387381
f"Failed to run `read` command in docker image {connector_image!r}. "
388382
"\n-----------------"
389383
"ERROR MESSAGES:\n"
390-
f"{chr(10).join(error_messages)}\n"
384+
f"{error_message}\n"
391385
"\n-----------------"
392386
) from None

0 commit comments

Comments
 (0)