Skip to content

Commit 07045ae

Browse files
fix: guard _build_haystack against non-string arguments
When tests mock _inner_run_command, result.output and result.stderr may be MagicMock objects instead of strings. Add isinstance checks to _build_haystack to avoid TypeError in str.join(). Co-Authored-By: Itamar Hartstein <haritamar@gmail.com>
1 parent a27063c commit 07045ae

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

elementary/clients/dbt/transient_errors.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,8 +129,8 @@ def is_transient_error(
129129
def _build_haystack(output: Optional[str] = None, stderr: Optional[str] = None) -> str:
130130
"""Concatenate and lowercase *output* + *stderr* for matching."""
131131
parts = []
132-
if output:
132+
if output and isinstance(output, str):
133133
parts.append(output)
134-
if stderr:
134+
if stderr and isinstance(stderr, str):
135135
parts.append(stderr)
136136
return "\n".join(parts).lower()

0 commit comments

Comments
 (0)