Skip to content

Commit

Permalink
Merge pull request #562 from armosec/fix_jira_test
Browse files Browse the repository at this point in the history
Refactor workflow validation to improve query efficiency and ensure s…
  • Loading branch information
kooomix authored Jan 7, 2025
2 parents ddfeb39 + 2e4be77 commit 49a69eb
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 16 deletions.
9 changes: 4 additions & 5 deletions tests_scripts/kubernetes/base_k8s.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand All @@ -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):
Expand Down Expand Up @@ -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)))

Expand Down
26 changes: 15 additions & 11 deletions tests_scripts/workflows/jira_workflows.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"]

0 comments on commit 49a69eb

Please sign in to comment.