Files
cleveragents-core/features/steps/scripts_steps.py
T

34 lines
1.1 KiB
Python

"""Step definitions for testing scripts functionality."""
import subprocess
from pathlib import Path
from behave import given, then, when
@given("I have the do-something.sh script")
def step_have_shell_script(context):
"""Ensure the shell script exists."""
script_path = Path("scripts/do-something.sh")
assert script_path.exists(), f"Script {script_path} does not exist"
context.script_path = script_path
@when("I execute the do-something.sh script")
def step_execute_shell_script(context):
"""Execute the shell script."""
result = subprocess.run(
["sh", str(context.script_path)], capture_output=True, text=True, check=False
)
context.script_output = result.stdout
context.script_error = result.stderr
context.script_returncode = result.returncode
@then('the script output should contain "{expected_text}"')
def step_verify_script_output(context, expected_text):
"""Verify the script output contains expected text."""
assert expected_text in context.script_output, (
f"Expected '{expected_text}' in output, but got: {context.script_output}"
)