jester1177/cloudnative-devops-debug-env
0
1from server.environment import CloudNativeDebugEnvironment2from server.models import Action, ActionType, FileEdit3 4 5def test_episode_flow_fix_and_autocomplete():6 env = CloudNativeDebugEnvironment()7 obs = env.reset(task_id="dockerfile_syntax", scenario_id="typo_filename", seed=7)8 assert obs.task_id == "dockerfile_syntax"9 assert obs.total_issues >= 110 11 action = Action(12 action_type=ActionType.REPLACE_LINE,13 edits=[14 FileEdit(15 file_path="Dockerfile",16 line_number=3,17 new_content="COPY requirements.txt .",18 )19 ],20 reasoning="Fix typo in requirements filename",21 )22 next_obs, reward, done, info = env.step(action)23 24 assert reward > 025 assert info["issues_fixed"] >= 126 assert done is True27 assert next_obs.issues_fixed >= 128 29 30def test_submit_runs_combined_simulation():31 env = CloudNativeDebugEnvironment()32 env.reset(task_id="workflow_secrets_permissions", scenario_id="missing_env_secrets", seed=42)33 obs, reward, done, info = env.step(Action(action_type=ActionType.SUBMIT, reasoning="validate"))34 assert done is True35 assert "issues_total" in info36 assert reward >= 0.037 assert obs.task_id == "workflow_secrets_permissions"38 