Skip to content
Snippets Groups Projects
Commit 5d7df8b6 authored by ml bonhomme's avatar ml bonhomme :bee:
Browse files

smarter test fixtures

parent 78d3ced9
No related branches found
No related tags found
No related merge requests found
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