clean tests and add ALLOWED_HOSTS globally

pull/5332/head
Daniel 2019-06-26 03:01:44 +02:00 zatwierdzone przez Daniel Leinfelder
rodzic b7e6b8e655
commit 0d2442fc1f
9 zmienionych plików z 15 dodań i 36 usunięć

Wyświetl plik

@ -3,34 +3,25 @@ Tests for the search box in the admin side menu, and the custom search hooks.
""" """
from django.contrib.auth.models import Permission from django.contrib.auth.models import Permission
from django.template import Context, Template from django.template import Context, Template
from django.test import RequestFactory, TestCase, override_settings from django.test import RequestFactory, TestCase
from django.urls import reverse from django.urls import reverse
from wagtail.admin.utils import user_has_any_page_permission from wagtail.admin.utils import user_has_any_page_permission
from wagtail.core.models import Site
from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.utils import WagtailTestUtils
class BaseSearchAreaTestCase(WagtailTestUtils, TestCase): class BaseSearchAreaTestCase(WagtailTestUtils, TestCase):
rf = RequestFactory() rf = RequestFactory()
@override_settings(ALLOWED_HOSTS=['*'])
def search_other(self, current_url='/admin/', data=None): def search_other(self, current_url='/admin/', data=None):
request = self.rf.get(current_url, data=data) request = self.rf.get(current_url, data=data)
request.user = self.user request.user = self.user
site = Site.objects.get()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
template = Template("{% load wagtailadmin_tags %}{% search_other %}") template = Template("{% load wagtailadmin_tags %}{% search_other %}")
return template.render(Context({'request': request})) return template.render(Context({'request': request}))
@override_settings(ALLOWED_HOSTS=['*'])
def menu_search(self, current_url='/admin/', data=None): def menu_search(self, current_url='/admin/', data=None):
request = self.rf.get(current_url, data=data) request = self.rf.get(current_url, data=data)
request.user = self.user request.user = self.user
site = Site.objects.get()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
template = Template("{% load wagtailadmin_tags %}{% menu_search %}") template = Template("{% load wagtailadmin_tags %}{% menu_search %}")
return template.render(Context({'request': request})) return template.render(Context({'request': request}))

Wyświetl plik

@ -2,12 +2,11 @@ from django.contrib.auth import get_user_model
from django.contrib.auth.models import AnonymousUser from django.contrib.auth.models import AnonymousUser
from django.http import HttpRequest from django.http import HttpRequest
from django.template import engines from django.template import engines
from django.test import TestCase, override_settings from django.test import TestCase
from wagtail.core.models import PAGE_TEMPLATE_VAR, Page, Site from wagtail.core.models import PAGE_TEMPLATE_VAR, Page, Site
@override_settings(ALLOWED_HOSTS=['*'])
class TestCoreJinja(TestCase): class TestCoreJinja(TestCase):
def setUp(self): def setUp(self):

Wyświetl plik

@ -572,7 +572,6 @@ class TestExplorablePageVisibility(TestCase, WagtailTestUtils):
self.assertNotContains(response, """<li class="home"><a href="/admin/pages/4/" class="icon icon-home text-replace">Home</a></li>""") self.assertNotContains(response, """<li class="home"><a href="/admin/pages/4/" class="icon icon-home text-replace">Home</a></li>""")
@override_settings(ALLOWED_HOSTS=['*'])
class TestPageCreation(TestCase, WagtailTestUtils): class TestPageCreation(TestCase, WagtailTestUtils):
def setUp(self): def setUp(self):
# Find root page # Find root page
@ -1885,7 +1884,6 @@ class TestPageEdit(TestCase, WagtailTestUtils):
# Check that a form error was raised # Check that a form error was raised
self.assertFormError(response, 'form', 'slug', "This slug is already in use") self.assertFormError(response, 'form', 'slug', "This slug is already in use")
@override_settings(ALLOWED_HOSTS=['*'])
def test_preview_on_edit(self): def test_preview_on_edit(self):
post_data = { post_data = {
'title': "I've been edited!", 'title': "I've been edited!",
@ -4151,7 +4149,6 @@ class TestChildRelationsOnSuperclass(TestCase, WagtailTestUtils):
self.assertContains(response, "alwaysDirty: true") self.assertContains(response, "alwaysDirty: true")
@override_settings(ALLOWED_HOSTS=['*'])
class TestRevisions(TestCase, WagtailTestUtils): class TestRevisions(TestCase, WagtailTestUtils):
fixtures = ['test.json'] fixtures = ['test.json']
@ -4549,7 +4546,6 @@ class TestRevisionsUnscheduleForUnpublishedPages(TestCase, WagtailTestUtils):
self.assertIsNone(self.unpublished_event.revisions.get(id=self.unpublished_revision.id).approved_go_live_at) self.assertIsNone(self.unpublished_event.revisions.get(id=self.unpublished_revision.id).approved_go_live_at)
@override_settings(ALLOWED_HOSTS=['*'])
class TestIssue2599(TestCase, WagtailTestUtils): class TestIssue2599(TestCase, WagtailTestUtils):
""" """
When previewing a page on creation, we need to assign it a path value consistent with its When previewing a page on creation, we need to assign it a path value consistent with its
@ -5209,7 +5205,6 @@ class TestValidationErrorMessages(TestCase, WagtailTestUtils):
self.assertContains(response, "<li>Title: This field is required.</li>", count=1) self.assertContains(response, "<li>Title: This field is required.</li>", count=1)
@override_settings(ALLOWED_HOSTS=['*'])
class TestDraftAccess(TestCase, WagtailTestUtils): class TestDraftAccess(TestCase, WagtailTestUtils):
"""Tests for the draft view access restrictions.""" """Tests for the draft view access restrictions."""
@ -5270,7 +5265,6 @@ class TestDraftAccess(TestCase, WagtailTestUtils):
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
@override_settings(ALLOWED_HOSTS=['*'])
class TestPreview(TestCase, WagtailTestUtils): class TestPreview(TestCase, WagtailTestUtils):
fixtures = ['test.json'] fixtures = ['test.json']

Wyświetl plik

@ -1,16 +1,15 @@
from django.contrib.auth import get_user_model from django.contrib.auth import get_user_model
from django.contrib.auth.models import AnonymousUser from django.contrib.auth.models import AnonymousUser
from django.template import Context, Template from django.template import Context, Template
from django.test import TestCase, override_settings from django.test import TestCase
from django.test.client import RequestFactory from django.test.client import RequestFactory
from django.urls import reverse from django.urls import reverse
from wagtail.core.models import PAGE_TEMPLATE_VAR, Page, Site from wagtail.core.models import PAGE_TEMPLATE_VAR, Page
from wagtail.tests.testapp.models import BusinessChild, BusinessIndex from wagtail.tests.testapp.models import BusinessChild, BusinessIndex
from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.utils import WagtailTestUtils
@override_settings(ALLOWED_HOSTS=['*'])
class TestUserbarTag(TestCase): class TestUserbarTag(TestCase):
def setUp(self): def setUp(self):
@ -24,9 +23,6 @@ class TestUserbarTag(TestCase):
def dummy_request(self, user=None): def dummy_request(self, user=None):
request = RequestFactory().get('/') request = RequestFactory().get('/')
request.user = user or AnonymousUser() request.user = user or AnonymousUser()
site = Site.objects.first()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
return request return request
@ -69,7 +65,6 @@ class TestUserbarTag(TestCase):
self.assertEqual(content, '') self.assertEqual(content, '')
@override_settings(ALLOWED_HOSTS=['*'])
class TestUserbarFrontend(TestCase, WagtailTestUtils): class TestUserbarFrontend(TestCase, WagtailTestUtils):
def setUp(self): def setUp(self):
self.login() self.login()
@ -91,7 +86,6 @@ class TestUserbarFrontend(TestCase, WagtailTestUtils):
self.assertEqual(response.status_code, 403) self.assertEqual(response.status_code, 403)
@override_settings(ALLOWED_HOSTS=['*'])
class TestUserbarAddLink(TestCase, WagtailTestUtils): class TestUserbarAddLink(TestCase, WagtailTestUtils):
fixtures = ['test.json'] fixtures = ['test.json']
@ -125,7 +119,6 @@ class TestUserbarAddLink(TestCase, WagtailTestUtils):
self.assertNotContains(response, expected_link) self.assertNotContains(response, expected_link)
@override_settings(ALLOWED_HOSTS=['*'])
class TestUserbarModeration(TestCase, WagtailTestUtils): class TestUserbarModeration(TestCase, WagtailTestUtils):
def setUp(self): def setUp(self):
self.login() self.login()

Wyświetl plik

@ -151,7 +151,6 @@ class TestRoutablePage(TestCase):
class TestRoutablePageTemplateTag(TestCase): class TestRoutablePageTemplateTag(TestCase):
@override_settings(ALLOWED_HOSTS=['*'])
def setUp(self): def setUp(self):
self.home_page = Page.objects.get(id=2) self.home_page = Page.objects.get(id=2)
self.routable_page = self.home_page.add_child(instance=RoutablePageTest( self.routable_page = self.home_page.add_child(instance=RoutablePageTest(
@ -256,7 +255,7 @@ class TestRoutablePageTemplateTagForSecondSiteAtSameRoot(TestCase):
self.assertEqual(url, expected) self.assertEqual(url, expected)
@override_settings(ALLOWED_HOSTS=['*']) @override_settings(ALLOWED_HOSTS=['events.local'])
class TestRoutablePageTemplateTagForSecondSiteAtDifferentRoot(TestCase): class TestRoutablePageTemplateTagForSecondSiteAtDifferentRoot(TestCase):
""" """
When multiple sites exist, relative URLs between such sites should include the domain portion When multiple sites exist, relative URLs between such sites should include the domain portion

Wyświetl plik

@ -7,7 +7,6 @@ from wagtail.tests.testapp.models import TestSetting
from wagtail.tests.utils import WagtailTestUtils from wagtail.tests.utils import WagtailTestUtils
@override_settings(ALLOWED_HOSTS=['*'])
class TemplateTestCase(TestCase, WagtailTestUtils): class TemplateTestCase(TestCase, WagtailTestUtils):
def setUp(self): def setUp(self):
root = Page.objects.first() root = Page.objects.first()
@ -51,6 +50,7 @@ class TestContextProcessor(TemplateTestCase):
self.render(request, '{{ settings.tests.TestSetting.title }}'), self.render(request, '{{ settings.tests.TestSetting.title }}'),
self.test_setting.title) self.test_setting.title)
@override_settings(ALLOWED_HOSTS=['localhost', 'other'])
def test_multisite(self): def test_multisite(self):
""" Check that the correct setting for the current site is returned """ """ Check that the correct setting for the current site is returned """
request = self.get_request(site=self.default_site) request = self.get_request(site=self.default_site)
@ -104,6 +104,7 @@ class TestTemplateTag(TemplateTestCase):
context = Context() context = Context()
self.assertEqual(template.render(context), '') self.assertEqual(template.render(context), '')
@override_settings(ALLOWED_HOSTS=['localhost', 'other'])
def test_get_settings_request_context(self): def test_get_settings_request_context(self):
""" Check that the {% get_settings %} tag works """ """ Check that the {% get_settings %} tag works """
request = self.get_request(site=self.other_site) request = self.get_request(site=self.other_site)
@ -191,6 +192,7 @@ class TestSettingsJinja(TemplateTestCase):
self.render('{{ settings("tests.TestSetting").title }}'), self.render('{{ settings("tests.TestSetting").title }}'),
self.test_setting.title) self.test_setting.title)
@override_settings(ALLOWED_HOSTS=['localhost', 'other'])
def test_multisite(self): def test_multisite(self):
""" Check that the correct setting for the current site is returned """ """ Check that the correct setting for the current site is returned """
context = {'site': self.default_site} context = {'site': self.default_site}

Wyświetl plik

@ -254,7 +254,7 @@ class TestRouting(TestCase):
self.assertEqual(root.relative_url(default_site), None) self.assertEqual(root.relative_url(default_site), None)
self.assertEqual(root.get_site(), None) self.assertEqual(root.get_site(), None)
@override_settings(ALLOWED_HOSTS=['*']) @override_settings(ALLOWED_HOSTS=['localhost', 'events.example.com', 'second-events.example.com'])
def test_urls_with_multiple_sites(self): def test_urls_with_multiple_sites(self):
events_page = Page.objects.get(url_path='/home/events/') events_page = Page.objects.get(url_path='/home/events/')
events_site = Site.objects.create(hostname='events.example.com', root_page=events_page) events_site = Site.objects.create(hostname='events.example.com', root_page=events_page)
@ -341,7 +341,6 @@ class TestRouting(TestCase):
(found_page, args, kwargs) = homepage.route(request, ['events', 'christmas']) (found_page, args, kwargs) = homepage.route(request, ['events', 'christmas'])
self.assertEqual(found_page, christmas_page) self.assertEqual(found_page, christmas_page)
@override_settings(ALLOWED_HOSTS=['*'])
def test_request_serving(self): def test_request_serving(self):
christmas_page = EventPage.objects.get(url_path='/home/events/christmas/') christmas_page = EventPage.objects.get(url_path='/home/events/christmas/')
@ -376,7 +375,7 @@ class TestRouting(TestCase):
# Override CACHES so we don't generate any cache-related SQL queries (tests use DatabaseCache # Override CACHES so we don't generate any cache-related SQL queries (tests use DatabaseCache
# otherwise) and so cache.get will always return None. # otherwise) and so cache.get will always return None.
@override_settings(CACHES={'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache'}}) @override_settings(CACHES={'default': {'BACKEND': 'django.core.cache.backends.dummy.DummyCache'}})
@override_settings(ALLOWED_HOSTS=['*']) @override_settings(ALLOWED_HOSTS=['localhost', 'dummy'])
def test_request_scope_site_root_paths_cache(self): def test_request_scope_site_root_paths_cache(self):
homepage = Page.objects.get(url_path='/home/') homepage = Page.objects.get(url_path='/home/')
christmas_page = EventPage.objects.get(url_path='/home/events/christmas/') christmas_page = EventPage.objects.get(url_path='/home/events/christmas/')
@ -392,6 +391,7 @@ class TestRouting(TestCase):
self.assertEqual(christmas_page.get_url(), '/events/christmas/') self.assertEqual(christmas_page.get_url(), '/events/christmas/')
# with a request, the first call to get_url should issue 1 SQL query # with a request, the first call to get_url should issue 1 SQL query
request = HttpRequest() request = HttpRequest()
request.META['HTTP_HOST'] = "dummy" request.META['HTTP_HOST'] = "dummy"
request.META['SERVER_PORT'] = "8888" request.META['SERVER_PORT'] = "8888"
@ -1517,7 +1517,6 @@ class TestDummyRequest(TestCase):
# validation won't reject # validation won't reject
self.assertEqual(request.META['HTTP_HOST'], 'production.example.com') self.assertEqual(request.META['HTTP_HOST'], 'production.example.com')
@override_settings(ALLOWED_HOSTS=['*'])
def test_dummy_request_for_inaccessible_page_with_wildcard_allowed_hosts(self): def test_dummy_request_for_inaccessible_page_with_wildcard_allowed_hosts(self):
root_page = Page.objects.get(url_path='/') root_page = Page.objects.get(url_path='/')
request = root_page.dummy_request() request = root_page.dummy_request()

Wyświetl plik

@ -63,7 +63,7 @@ class TestPageUrlTags(TestCase):
result = slugurl(context=template.Context({'request': HttpRequest()}), slug='bad-slug-doesnt-exist') result = slugurl(context=template.Context({'request': HttpRequest()}), slug='bad-slug-doesnt-exist')
self.assertEqual(result, None) self.assertEqual(result, None)
@override_settings(ALLOWED_HOSTS=['*']) @override_settings(ALLOWED_HOSTS=['localhost', 'site2.example.com'])
def test_slugurl_tag_returns_url_for_current_site(self): def test_slugurl_tag_returns_url_for_current_site(self):
home_page = Page.objects.get(url_path='/home/') home_page = Page.objects.get(url_path='/home/')
new_home_page = home_page.copy(update_attrs={'title': "New home page", 'slug': 'new-home'}) new_home_page = home_page.copy(update_attrs={'title': "New home page", 'slug': 'new-home'})
@ -78,7 +78,7 @@ class TestPageUrlTags(TestCase):
url = slugurl(context=template.Context({'request': request}), slug='christmas') url = slugurl(context=template.Context({'request': request}), slug='christmas')
self.assertEqual(url, '/christmas/') self.assertEqual(url, '/christmas/')
@override_settings(ALLOWED_HOSTS=['*']) @override_settings(ALLOWED_HOSTS=['localhost', 'site2.example.com'])
def test_slugurl_tag_returns_url_for_other_site(self): def test_slugurl_tag_returns_url_for_other_site(self):
home_page = Page.objects.get(url_path='/home/') home_page = Page.objects.get(url_path='/home/')
new_home_page = home_page.copy(update_attrs={'title': "New home page", 'slug': 'new-home'}) new_home_page = home_page.copy(update_attrs={'title': "New home page", 'slug': 'new-home'})

Wyświetl plik

@ -8,6 +8,8 @@ MEDIA_URL = '/media/'
TIME_ZONE = 'Asia/Tokyo' TIME_ZONE = 'Asia/Tokyo'
ALLOWED_HOSTS = ['localhost', ]
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': os.environ.get('DATABASE_ENGINE', 'django.db.backends.sqlite3'), 'ENGINE': os.environ.get('DATABASE_ENGINE', 'django.db.backends.sqlite3'),