From 1e9a7fb4298ec26b50e56045c17669266598b5a3 Mon Sep 17 00:00:00 2001 From: kooomix Date: Mon, 6 Jan 2025 17:32:19 +0200 Subject: [PATCH 1/2] Refactor workflow validation to improve query efficiency and ensure single result assertion --- tests_scripts/workflows/jira_workflows.py | 26 +++++++++++++---------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/tests_scripts/workflows/jira_workflows.py b/tests_scripts/workflows/jira_workflows.py index 8d6f2e2a..698a8b0e 100644 --- a/tests_scripts/workflows/jira_workflows.py +++ b/tests_scripts/workflows/jira_workflows.py @@ -283,16 +283,20 @@ def build_vulnerabilities_workflow_body(self, name, severities, jiraCollaboratio def validate_workflow(self, expected_name, expected_provider): - workflows = self.backend.get_workflows() - assert workflows["total"]["value"] >= 1, f"Expected total value to be greater or equal to 1, but got {workflows['total']['value']}" - - guid = None - for workflow in workflows["response"]: - if workflow["name"] == expected_name: - provider = workflow["notifications"][0]["provider"] - assert provider == expected_provider, f"Expected provider {expected_provider} but got {provider}" - guid = workflow["guid"] - break + body = { + "pageSize": 150, + "pageNum": 1, + "innerFilters": [{ + "name": expected_name + }], + "orderBy": "updatedTime:desc" + } + workflows = self.backend.get_workflows(body=body) + assert workflows["total"]["value"] == 1, f"Expected total value to be equal to 1, but got {workflows['total']['value']}" - assert guid, f"Workflow with name {expected_name} not found" + workflow = workflows["response"][0] + assert workflow["name"] == expected_name, f"Expected name {expected_name} but got {workflow['name']}" + assert workflow["notifications"][0]["provider"] == expected_provider, f"Expected provider {expected_provider} but got {workflow['notifications'][0]['provider']}" + assert workflow["guid"], f"Expected guid to be not None, but got {workflow['guid']}" + return workflow["guid"] From 2e4be77c9d8ee62cbea1681e1e913bd627b027ef Mon Sep 17 00:00:00 2001 From: kooomix Date: Mon, 6 Jan 2025 23:26:41 +0200 Subject: [PATCH 2/2] Refactor logging in BaseK8S to enhance clarity and remove unnecessary whitespace --- tests_scripts/kubernetes/base_k8s.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests_scripts/kubernetes/base_k8s.py b/tests_scripts/kubernetes/base_k8s.py index fb7128bc..e59690e6 100755 --- a/tests_scripts/kubernetes/base_k8s.py +++ b/tests_scripts/kubernetes/base_k8s.py @@ -634,7 +634,7 @@ def describe_pods(self, pods): Describe pods in the given namespace using kubectl. """ descriptions = [] - + for pod in pods: try: result = subprocess.run( @@ -653,7 +653,7 @@ def describe_pods(self, pods): print(f"Error describing pod {pod.metadata.name}: {result.stderr}") except subprocess.TimeoutExpired: print(f"Timeout describing pod {pod.metadata.name}") - + return descriptions def get_pods(self, namespace: str = None, name: str = None, include_terminating: bool = True, wlid: str = None): @@ -825,9 +825,8 @@ def verify_running_pods(self, namespace: str, replicas: int = None, name: str = KubectlWrapper.convert_workload_to_dict(non_running_pods, f_json=True, indent=2))) all_pods_message = self.get_all_pods_printable_details() - Logger.logger.info(f"cluster states:\n{all_pods_message}") - none_running_pods_describe = self.describe_pods(non_running_pods) - Logger.logger.info(f"none_running_pods_describe: {none_running_pods_describe}") + Logger.logger.info(f"cluster pod states states:\n{all_pods_message}") + Logger.logger.info(f"cluster describe none running pods:\n{self.describe_pods(non_running_pods)}") raise Exception("wrong number of pods are running after {} seconds. expected: {}, running: {}" .format(delta_t, replicas, len(running_pods))) # , len(total_pods)))