Skip to content
Snippets Groups Projects

Create RecommendedWorkerVersionRetrieve endpoint

Merged ml bonhomme requested to merge wv-rec into release-1.7.2
All threads resolved!
2 files
+ 69
9
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -45,12 +45,28 @@ class TestRecommendedWorkerVersion(FixtureAPITestCase):
state=WorkerVersionState.Available,
docker_image_iid="registry.somewhere.com/something:latest"
)
cls.bad_tag_version = cls.worker_reco.versions.create(
configuration={},
revision_url="https://gitlab.com/NERV/eva/commit/0246",
tag="shiny-rock",
state=WorkerVersionState.Available,
docker_image_iid="registry.somewhere.com/something:latest"
)
def test_requires_login(self):
with self.assertNumQueries(0):
response = self.client.get(reverse("api:recommended-worker-version", kwargs={"pk": str(self.worker_reco.id)}))
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
def test_requires_verified(self):
self.user.verified_email = False
self.user.save()
self.client.force_login(self.user)
with self.assertNumQueries(2):
response = self.client.get(reverse("api:recommended-worker-version", kwargs={"pk": str(self.worker_reco.id)}))
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
@patch("arkindex.users.utils.get_max_level", return_value=Role.Guest.value)
def test_requires_contributor(self, max_level_mock):
self.client.force_login(self.user)
@@ -67,10 +83,52 @@ class TestRecommendedWorkerVersion(FixtureAPITestCase):
call(self.user, self.worker_reco)
])
def test_worker_doesnt_exist(self):
self.client.force_login(self.user)
with self.assertNumQueries(3):
response = self.client.get(reverse("api:recommended-worker-version", kwargs={"pk": "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"}))
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_no_recommended_version(self):
test_worker = Worker.objects.create(
name="Test worker",
slug="testworker",
type=self.worker_reco.type,
)
test_worker.versions.create(
configuration={},
revision_url="https://gitlab.com/SEELE/scrolls/commit/1234",
state=WorkerVersionState.Available,
docker_image_iid="registry.somewhere.com/something:latest"
)
test_worker.versions.create(
configuration={},
revision_url="https://gitlab.com/SEELE/scrolls/commit/5678",
branch="deadsea",
state=WorkerVersionState.Available,
docker_image_iid="registry.somewhere.com/something:latest"
)
test_worker.versions.create(
configuration={},
revision_url="https://gitlab.com/SEELE/scrolls/commit/9123",
tag="0.2.5",
state=WorkerVersionState.Error,
docker_image_iid="registry.somewhere.com/something:latest"
)
self.client.force_login(self.user)
with self.assertNumQueries(4):
response = self.client.get(reverse("api:recommended-worker-version", kwargs={"pk": str(self.worker_reco.id)}))
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertDictEqual(response.json(), {})
def test_main_branch_version(self):
self.client.force_login(self.user)
with self.assertNumQueries(5):
with self.assertNumQueries(4):
response = self.client.get(reverse("api:recommended-worker-version", kwargs={"pk": str(self.worker_reco.id)}))
self.assertEqual(response.status_code, status.HTTP_200_OK)
Loading