Skip to content
Snippets Groups Projects
Commit d982d71b authored by ml bonhomme's avatar ml bonhomme :bee: Committed by Erwan Rouchet
Browse files

smarter test fixtures

parent 2308b5af
No related branches found
No related tags found
1 merge request!2299Support all worker attributes on CreateDockerWorkerVersion
This commit is part of merge request !2299. Comments created here will be created in the context of that merge request.
......@@ -735,7 +735,7 @@ class DockerWorkerVersionSerializer(serializers.ModelSerializer):
# Update the worker if required
if not created:
description = validated_data.get("worker_description")
if worker.name != validated_data["worker_name"] or worker.type_id != worker_type.id or (description and worker.description != description):
if worker.name != validated_data["worker_name"] or worker.type_id != worker_type.id or (description is not None and worker.description != description):
worker.name = validated_data["worker_name"]
worker.type_id = worker_type.id
worker.description = description if description else worker.description
......
......@@ -20,8 +20,8 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
super().setUpTestData()
cls.repo = Repository.objects.get(url="http://my_repo.fake/workers/worker")
cls.rev = cls.repo.revisions.get()
cls.worker = Worker.objects.get(slug="reco")
cls.version = cls.worker.versions.get()
cls.worker = Worker.objects.filter(slug="reco").select_related("type").get()
cls.version = cls.worker.versions.select_related("revision").get()
cls.user.user_scopes.create(scope=Scope.CreateDockerWorkerVersion)
cls.worker_type = WorkerType.objects.create(slug="docker", display_name="Docker")
......@@ -78,8 +78,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"""
self.assertEqual(self.superuser.user_scopes.count(), 0)
self.client.force_login(self.superuser)
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
type_slug = self.version.worker.type.slug
response = self.client.post(
reverse("api:version-from-docker"),
data={
......@@ -89,7 +87,7 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"revision_hash": "new_revision_hash",
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": type_slug,
"worker_type": self.worker.type.slug,
},
format="json",
)
......@@ -160,10 +158,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"""
No worker version can be created with an existing revision hash and worker slug
"""
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
revision = self.version.revision
worker = self.version.worker
type_slug = worker.type.slug
self.client.force_login(self.user)
with self.assertNumQueries(13):
response = self.client.post(
......@@ -172,10 +166,10 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"configuration": {},
"docker_image_iid": "some_docker_image",
"repository_url": self.repo.url,
"revision_hash": revision.hash,
"worker_slug": worker.slug,
"worker_name": worker.name,
"worker_type": type_slug,
"revision_hash": self.version.revision.hash,
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": self.worker.type.slug,
},
format="json",
)
......@@ -189,8 +183,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
self.worker.archived = datetime.now(timezone.utc)
self.worker.save()
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
type_slug = self.version.worker.type.slug
with self.assertNumQueries(13):
response = self.client.post(
reverse("api:version-from-docker"),
......@@ -201,7 +193,7 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"revision_hash": "new_revision_hash",
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": type_slug,
"worker_type": self.worker.type.slug,
},
format="json",
)
......@@ -217,8 +209,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"""
self.client.force_login(self.user)
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
type_slug = self.version.worker.type.slug
with self.assertNumQueries(18):
response = self.client.post(
reverse("api:version-from-docker"),
......@@ -229,7 +219,7 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"revision_hash": "new_revision_hash",
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": type_slug,
"worker_type": self.worker.type.slug,
},
format="json",
)
......@@ -271,8 +261,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"""
self.client.force_login(self.user)
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
type_slug = self.version.worker.type.slug
with self.assertNumQueries(19):
response = self.client.post(
reverse("api:version-from-docker"),
......@@ -283,7 +271,7 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"revision_hash": "new_revision_hash",
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": type_slug,
"worker_type": self.worker.type.slug,
"revision_message": "Bruce was very clever",
"revision_author": "Iwan Roberts",
"revision_references": [
......@@ -427,8 +415,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
)
self.client.force_login(self.user)
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
type_slug = self.version.worker.type.slug
with self.assertNumQueries(19):
response = self.client.post(
reverse("api:version-from-docker"),
......@@ -439,7 +425,7 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"revision_hash": "new_revision_hash",
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": type_slug,
"worker_type": self.worker.type.slug,
"revision_message": "Bruce was very clever",
"revision_author": "Iwan Roberts",
"revision_references": [
......@@ -522,10 +508,6 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
repository=self.version.revision.repo,
)
# Keep this out of the self.assertNumQueries so as not to add irrelevant queries
revision = self.version.revision
worker = self.version.worker
type_slug = worker.type.slug
with self.assertNumQueries(13):
response = self.client.post(
reverse("api:version-from-docker"),
......@@ -533,10 +515,10 @@ class TestDockerWorkerVersion(FixtureAPITestCase):
"configuration": {},
"docker_image_iid": "some_docker_image",
"repository_url": self.repo.url,
"revision_hash": revision.hash,
"worker_slug": worker.slug,
"worker_name": worker.name,
"worker_type": type_slug,
"revision_hash": self.version.revision.hash,
"worker_slug": self.worker.slug,
"worker_name": self.worker.name,
"worker_type": self.worker.type.slug,
"revision_references": [
{"type": "tag", "name": "9.9.9.9.9.9"},
],
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment