summaryrefslogtreecommitdiff
path: root/patchwork/tests
diff options
context:
space:
mode:
authorDaniel Axtens <dja@axtens.net>2020-03-18 00:59:15 +1100
committerStephen Finucane <stephen@that.guru>2020-03-19 11:51:54 +0000
commit046aa155c3bf827691bab9e1df8916c969a30d54 (patch)
tree03cca9705cd81d5ee631d993954cd388b184ecce /patchwork/tests
parent98a2d051372dcedb889c4cb94ebd8ed7b399b522 (diff)
downloadpatchwork-046aa155c3bf827691bab9e1df8916c969a30d54.tar
patchwork-046aa155c3bf827691bab9e1df8916c969a30d54.tar.gz
REST: extend performance improvements to other parts of the API
We can trivially extend what we've just done to other parts of the API. I haven't done much by way of benchmark but we're seeing multiple 'x's pretty much across the board when filtering. Signed-off-by: Daniel Axtens <dja@axtens.net> Reviewed-by: Stephen Finucane <stephen@that.guru>
Diffstat (limited to 'patchwork/tests')
-rw-r--r--patchwork/tests/api/test_cover.py2
-rw-r--r--patchwork/tests/api/test_series.py15
2 files changed, 12 insertions, 5 deletions
diff --git a/patchwork/tests/api/test_cover.py b/patchwork/tests/api/test_cover.py
index 16cc0cd..5eeb190 100644
--- a/patchwork/tests/api/test_cover.py
+++ b/patchwork/tests/api/test_cover.py
@@ -127,7 +127,7 @@ class TestCoverLetterAPI(utils.APITestCase):
series = create_series()
create_covers(5, series=series)
- with self.assertNumQueries(2):
+ with self.assertNumQueries(3):
self.client.get(self.api_url())
@utils.store_samples('cover-detail')
diff --git a/patchwork/tests/api/test_series.py b/patchwork/tests/api/test_series.py
index 8751871..491dd61 100644
--- a/patchwork/tests/api/test_series.py
+++ b/patchwork/tests/api/test_series.py
@@ -139,10 +139,17 @@ class TestSeriesAPI(utils.APITestCase):
self.assertNotIn('web_url', resp.data[0]['patches'][0])
def test_list_bug_335(self):
- """Ensure we retrieve the embedded cover letter project once."""
- self._create_series()
-
- with self.assertNumQueries(4):
+ """Ensure we retrieve the embedded cover letter project in O(1)."""
+ project_obj = create_project(linkname='myproject')
+ person_obj = create_person(email='test@example.com')
+ for i in range(10):
+ series_obj = create_series(
+ project=project_obj, submitter=person_obj,
+ )
+ create_cover(series=series_obj)
+ create_patch(series=series_obj)
+
+ with self.assertNumQueries(6):
self.client.get(self.api_url())
@utils.store_samples('series-detail')