summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephen Finucane <stephen@that.guru>2020-10-04 11:42:42 +0100
committerStephen Finucane <stephen@that.guru>2020-12-13 18:22:12 +0000
commit87e9f510b2670d199ab2930900c357c3ecda761d (patch)
tree42e923ffa604637481417bd75c5e24f7e4e58f03
parente69a2adcf50b57980d5eb0074cc72698d5cac31a (diff)
downloadpatchwork-87e9f510b2670d199ab2930900c357c3ecda761d.tar
patchwork-87e9f510b2670d199ab2930900c357c3ecda761d.tar.gz
tests: Rework 'create_relation' helper
This wasn't actually creating just a patch relation object - it was also creating patches, which is something we already have an explicit helper for. Clean this thing up. Signed-off-by: Stephen Finucane <stephen@that.guru>
-rw-r--r--patchwork/tests/api/test_relation.py54
-rw-r--r--patchwork/tests/utils.py15
2 files changed, 36 insertions, 33 deletions
diff --git a/patchwork/tests/api/test_relation.py b/patchwork/tests/api/test_relation.py
index d48c62b..5f8048f 100644
--- a/patchwork/tests/api/test_relation.py
+++ b/patchwork/tests/api/test_relation.py
@@ -48,8 +48,8 @@ class TestRelationSimpleAPI(utils.APITestCase):
@utils.store_samples('relation-list')
def test_list_two_patch_relation(self):
- relation = create_relation(2, project=self.project)
- patches = relation.patches.all()
+ relation = create_relation()
+ patches = create_patches(2, project=self.project, related=relation)
# nobody
resp = self.client.get(self.api_url(item=patches[0].pk))
@@ -101,8 +101,8 @@ class TestRelationSimpleAPI(utils.APITestCase):
self.assertEqual(patches[1].related, patches[0].related)
def test_delete_two_patch_relation_nobody(self):
- relation = create_relation(project=self.project)
- patch = relation.patches.all()[0]
+ relation = create_relation()
+ patch = create_patches(2, project=self.project, related=relation)[0]
self.assertEqual(PatchRelation.objects.count(), 1)
@@ -112,8 +112,8 @@ class TestRelationSimpleAPI(utils.APITestCase):
@utils.store_samples('relation-delete')
def test_delete_two_patch_relation_maintainer(self):
- relation = create_relation(project=self.project)
- patch = relation.patches.all()[0]
+ relation = create_relation()
+ patch = create_patches(2, project=self.project, related=relation)[0]
self.assertEqual(PatchRelation.objects.count(), 1)
@@ -145,8 +145,8 @@ class TestRelationSimpleAPI(utils.APITestCase):
self.assertEqual(patches[1].related, patches[2].related)
def test_delete_from_three_patch_relation(self):
- relation = create_relation(3, project=self.project)
- patch = relation.patches.all()[0]
+ relation = create_relation()
+ patch = create_patches(3, project=self.project, related=relation)[0]
self.assertEqual(PatchRelation.objects.count(), 1)
@@ -159,8 +159,9 @@ class TestRelationSimpleAPI(utils.APITestCase):
@utils.store_samples('relation-extend-through-new')
def test_extend_relation_through_new(self):
- relation = create_relation(project=self.project)
- existing_patch_a = relation.patches.first()
+ relation = create_relation()
+ existing_patch_a = create_patches(
+ 2, project=self.project, related=relation)[0]
new_patch = create_patch(project=self.project)
@@ -173,8 +174,9 @@ class TestRelationSimpleAPI(utils.APITestCase):
self.assertEqual(relation.patches.count(), 3)
def test_extend_relation_through_old(self):
- relation = create_relation(project=self.project)
- existing_patch_a = relation.patches.first()
+ relation = create_relation()
+ existing_patch_a = create_patches(
+ 2, project=self.project, related=relation)[0]
new_patch = create_patch(project=self.project)
@@ -188,8 +190,9 @@ class TestRelationSimpleAPI(utils.APITestCase):
self.assertEqual(relation.patches.count(), 3)
def test_extend_relation_through_new_two(self):
- relation = create_relation(project=self.project)
- existing_patch_a = relation.patches.first()
+ relation = create_relation()
+ existing_patch_a = create_patches(
+ 2, project=self.project, related=relation)[0]
new_patch_a = create_patch(project=self.project)
new_patch_b = create_patch(project=self.project)
@@ -210,8 +213,9 @@ class TestRelationSimpleAPI(utils.APITestCase):
@utils.store_samples('relation-extend-through-old')
def test_extend_relation_through_old_two(self):
- relation = create_relation(project=self.project)
- existing_patch_a = relation.patches.first()
+ relation = create_relation()
+ existing_patch_a = create_patches(
+ 2, project=self.project, related=relation)[0]
new_patch_a = create_patch(project=self.project)
new_patch_b = create_patch(project=self.project)
@@ -232,9 +236,10 @@ class TestRelationSimpleAPI(utils.APITestCase):
self.assertEqual(relation.patches.count(), 4)
def test_remove_one_patch_from_relation_bad(self):
- relation = create_relation(3, project=self.project)
- keep_patch_a = relation.patches.all()[1]
- keep_patch_b = relation.patches.all()[2]
+ relation = create_relation()
+ patches = create_patches(3, project=self.project, related=relation)
+ keep_patch_a = patches[1]
+ keep_patch_b = patches[1]
# this should do nothing - it is interpreted as
# _adding_ keep_patch_b again which is a no-op.
@@ -248,8 +253,9 @@ class TestRelationSimpleAPI(utils.APITestCase):
self.assertEqual(relation.patches.count(), 3)
def test_remove_one_patch_from_relation_good(self):
- relation = create_relation(3, project=self.project)
- target_patch = relation.patches.all()[0]
+ relation = create_relation()
+ target_patch = create_patches(
+ 3, project=self.project, related=relation)[0]
# maintainer
self.client.force_authenticate(user=self.maintainer)
@@ -263,8 +269,10 @@ class TestRelationSimpleAPI(utils.APITestCase):
@utils.store_samples('relation-forbid-moving-between-relations')
def test_forbid_moving_patch_between_relations(self):
"""Test the break-before-make logic"""
- relation_a = create_relation(project=self.project)
- relation_b = create_relation(project=self.project)
+ relation_a = create_relation()
+ create_patches(2, project=self.project, related=relation_a)
+ relation_b = create_relation()
+ create_patches(2, project=self.project, related=relation_b)
patch_a = relation_a.patches.first()
patch_b = relation_b.patches.first()
diff --git a/patchwork/tests/utils.py b/patchwork/tests/utils.py
index c464979..17dc3fc 100644
--- a/patchwork/tests/utils.py
+++ b/patchwork/tests/utils.py
@@ -308,6 +308,11 @@ def create_series_reference(**kwargs):
return SeriesReference.objects.create(**values)
+def create_relation(**kwargs):
+ """Create 'PatchRelation' object."""
+ return PatchRelation.objects.create(**kwargs)
+
+
def _create_submissions(create_func, count=1, **kwargs):
"""Create 'count' SubmissionMixin-based objects.
@@ -364,13 +369,3 @@ def create_covers(count=1, **kwargs):
kwargs (dict): Overrides for various cover letter fields
"""
return _create_submissions(create_cover, count, **kwargs)
-
-
-def create_relation(count_patches=2, **kwargs):
- relation = PatchRelation.objects.create()
- values = {
- 'related': relation
- }
- values.update(kwargs)
- create_patches(count_patches, **values)
- return relation