Initial commit
This commit is contained in:
96
env/lib/python3.10/site-packages/wagtail/admin/tests/benches.py
vendored
Normal file
96
env/lib/python3.10/site-packages/wagtail/admin/tests/benches.py
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
|
||||
from wagtail.models import Page, Site
|
||||
from wagtail.test.benchmark import Benchmark
|
||||
from wagtail.test.testapp.models import SingleEventPage, StreamPage
|
||||
from wagtail.test.utils import WagtailTestUtils
|
||||
|
||||
|
||||
class BenchPageExplorerWith50LargePages(Benchmark, WagtailTestUtils, TestCase):
|
||||
"""
|
||||
Creates 50 pages with large body content and benches the explorer.
|
||||
This will be slow if the body content is being loaded from the database.
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
self.root_page = Page.objects.get(id=1)
|
||||
|
||||
# Add a site so the URLs render correctly
|
||||
Site.objects.create(is_default_site=True, root_page=self.root_page)
|
||||
|
||||
# Create a large piece of body text
|
||||
body = (
|
||||
"["
|
||||
+ ",".join(['{"type": "text", "value": "%s"}' % ("foo" * 2000)] * 100)
|
||||
+ "]"
|
||||
)
|
||||
|
||||
# Create 50 simple pages with long content fields
|
||||
for i in range(50):
|
||||
self.root_page.add_child(
|
||||
instance=StreamPage(
|
||||
title=f"Page {i + 1}",
|
||||
slug=str(i + 1),
|
||||
body=body,
|
||||
)
|
||||
)
|
||||
|
||||
self.login()
|
||||
|
||||
def bench(self):
|
||||
response = self.client.get(
|
||||
reverse("wagtailadmin_explore", args=(self.root_page.id,))
|
||||
)
|
||||
|
||||
# Check the response was good
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# Check every single page was rendered
|
||||
self.assertContains(response, "Page 1")
|
||||
self.assertContains(response, "Page 49")
|
||||
|
||||
|
||||
class BenchPageExplorerWithCustomURLPages(Benchmark, WagtailTestUtils, TestCase):
|
||||
"""
|
||||
Creates 50 pages of a class with a customised the .url property.
|
||||
This will check how long it takes to generate URLs for all of these
|
||||
pages.
|
||||
"""
|
||||
|
||||
def setUp(self):
|
||||
self.root_page = Page.objects.get(id=1)
|
||||
|
||||
# Add a site so the URLs render correctly
|
||||
Site.objects.create(is_default_site=True, root_page=self.root_page)
|
||||
|
||||
# Create 50 blog pages
|
||||
for i in range(50):
|
||||
self.root_page.add_child(
|
||||
instance=SingleEventPage(
|
||||
title=f"Event {i + 1}",
|
||||
slug=str(i + 1),
|
||||
date_from=timezone.now(),
|
||||
audience="public",
|
||||
location="reykjavik",
|
||||
cost="cost",
|
||||
)
|
||||
)
|
||||
|
||||
self.login()
|
||||
|
||||
def bench(self):
|
||||
response = self.client.get(
|
||||
reverse("wagtailadmin_explore", args=(self.root_page.id,))
|
||||
)
|
||||
|
||||
# Check the response was good
|
||||
self.assertEqual(response.status_code, 200)
|
||||
|
||||
# Check every single page was rendered
|
||||
self.assertContains(response, "Event 1")
|
||||
self.assertContains(response, "Event 49")
|
||||
|
||||
# Check the URLs were rendered correctly
|
||||
self.assertContains(response, 'a href="http:///49/pointless-suffix/"')
|
||||
Reference in New Issue
Block a user