(self)
| 159 | return False |
| 160 | |
| 161 | def execute_steps(self): |
| 162 | for step in self.scenario.get("steps", []): |
| 163 | action = step["action"] |
| 164 | if action == "request": |
| 165 | self._exec_request(step) |
| 166 | elif action == "inject_message": |
| 167 | pytest.skip(f"step {step['id']}: inject_message not supported in Python runner") |
| 168 | elif action in ("ws_connect", "ws_reconnect", "ws_read"): |
| 169 | pytest.skip(f"step {step['id']}: WS actions require async runner") |
| 170 | elif action == "verify_and_retry": |
| 171 | pytest.skip(f"step {step['id']}: verify_and_retry not supported in Python runner") |
| 172 | else: |
| 173 | raise ValueError(f"step {step['id']}: unknown action {action}") |
| 174 | |
| 175 | def _exec_request(self, step: dict[str, Any]): |
| 176 | path = self.resolve(step["path"]) |
no test coverage detected