Skip to content

Commit 3a2bdaa

Browse files
committed
fix e2e tests
Signed-off-by: Javan Lacerda <javanlacerda@google.com>
1 parent 7ec4eed commit 3a2bdaa

1 file changed

Lines changed: 33 additions & 6 deletions

File tree

src/clusterfuzz/_internal/tests/core/k8s/k8s_service_e2e_test.py

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,28 @@ def _wait_for_job_and_delete(self, job_name):
111111
self.api_client.delete_namespaced_job(
112112
name=job_name,
113113
namespace='default',
114-
body=k8s_client.V1DeleteOptions(propagation_policy='Foreground'))
114+
body=k8s_client.V1DeleteOptions(propagation_policy='Background'))
115+
116+
# Wait for deletion.
117+
for _ in range(120):
118+
try:
119+
self.api_client.read_namespaced_job(job_name, 'default')
120+
time.sleep(1)
121+
except k8s_client.rest.ApiException as e:
122+
if e.status == 404:
123+
return
124+
raise
125+
126+
self.fail(f'Job {job_name} was not deleted.')
127+
128+
def _get_cf_jobs(self):
129+
"""Returns a list of ClusterFuzz jobs."""
130+
jobs = self.api_client.list_namespaced_job('default')
131+
return [
132+
j.metadata.name
133+
for j in jobs.items
134+
if j.metadata.name.startswith('cf-job-')
135+
]
115136

116137
def test_create_job(self):
117138
"""Tests creating a job."""
@@ -143,9 +164,13 @@ def test_create_uworker_main_batch_job(self, mock_get_command_from_module,
143164
is_kata=False)
144165
mock_get_k8s_job_configs.return_value = {('fuzz', 'test-job'): config}
145166

146-
actual_job_name = self.kubernetes_client.create_utask_main_job(
167+
result = self.kubernetes_client.create_utask_main_job(
147168
'module', 'test-job', 'url1')
148-
self._wait_for_job_and_delete(actual_job_name)
169+
self.assertEqual(result, [])
170+
171+
jobs = self._get_cf_jobs()
172+
self.assertEqual(len(jobs), 1)
173+
self._wait_for_job_and_delete(jobs[0])
149174

150175
@mock.patch('clusterfuzz._internal.k8s.service._get_k8s_job_configs')
151176
@mock.patch(
@@ -181,10 +206,12 @@ def test_create_uworker_main_batch_jobs(self, mock_get_command_from_module,
181206
remote_task_types.RemoteTask('fuzz', 'test-job2', 'url2'),
182207
]
183208

184-
actual_job_names = self.kubernetes_client.create_utask_main_jobs(tasks)
185-
self.assertEqual(len(actual_job_names), 2)
209+
result = self.kubernetes_client.create_utask_main_jobs(tasks)
210+
self.assertEqual(result, [])
186211

187-
for job_name in actual_job_names:
212+
jobs = self._get_cf_jobs()
213+
self.assertEqual(len(jobs), 2)
214+
for job_name in jobs:
188215
self._wait_for_job_and_delete(job_name)
189216

190217

0 commit comments

Comments
 (0)