Coverage for ocp_resources/chaos_engine.py: 0%
23 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
1# -*- coding: utf-8 -*-
3from typing import Any, Dict, List
4from ocp_resources.resource import NamespacedResource
7class ChaosEngine(NamespacedResource):
8 api_group = NamespacedResource.ApiGroup.LITMUS_IO
10 class EngineStatus:
11 INITIALIZED: str = "initialized"
12 COMPLETED: str = "completed"
13 STOPPED: str = "stopped"
15 @property
16 def engine_status(self) -> str:
17 return self.instance.status["engineStatus"]
19 @property
20 def experiments_status(self) -> Dict[str, Dict[str, Any]]:
21 experiments: List[Dict[Any, Any]] = self.instance.status["experiments"]
22 ret_value = {}
23 for experiment in experiments:
24 exp = {"verdict": experiment["verdict"], "status": experiment["status"]}
25 ret_value[experiment["name"]] = exp
26 return ret_value
28 @property
29 def success(self) -> bool:
30 exps = self.experiments_status
31 return all(exp["verdict"] == "Pass" for exp in exps.values())