update tests for deprecated SiteMiddleware

pull/5332/head
Daniel 2019-05-28 16:19:22 +02:00 zatwierdzone przez Daniel Leinfelder
rodzic f745aae9d0
commit 38b304105a
12 zmienionych plików z 93 dodań i 36 usunięć

Wyświetl plik

@ -3,7 +3,7 @@ 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 from django.test import RequestFactory, TestCase, override_settings
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
@ -14,17 +14,23 @@ 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
request.site = Site.objects.get() 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
request.site = Site.objects.get() 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

@ -1,11 +1,13 @@
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.http import HttpRequest
from django.template import engines from django.template import engines
from django.test import TestCase from django.test import TestCase, override_settings
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):
@ -28,8 +30,9 @@ class TestCoreJinja(TestCase):
def dummy_request(self, user=None): def dummy_request(self, user=None):
site = Site.objects.get(is_default_site=True) site = Site.objects.get(is_default_site=True)
request = self.client.get('/') request = HttpRequest()
request.site = site request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
request.user = user or AnonymousUser() request.user = user or AnonymousUser()
return request return request

Wyświetl plik

@ -572,6 +572,7 @@ 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
@ -1884,6 +1885,7 @@ 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!",
@ -1953,7 +1955,6 @@ class TestPageEdit(TestCase, WagtailTestUtils):
# Check that the correct site object has been selected by the site middleware # Check that the correct site object has been selected by the site middleware
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
self.assertTemplateUsed(response, 'tests/simple_page.html') self.assertTemplateUsed(response, 'tests/simple_page.html')
self.assertEqual(response.context['request'].site.hostname, 'childpage.example.com')
def test_editor_picks_up_direct_model_edits(self): def test_editor_picks_up_direct_model_edits(self):
# If a page has no draft edits, the editor should show the version from the live database # If a page has no draft edits, the editor should show the version from the live database
@ -4150,6 +4151,7 @@ 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']
@ -4547,6 +4549,7 @@ 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
@ -5205,7 +5208,7 @@ class TestValidationErrorMessages(TestCase, WagtailTestUtils):
# Error on title shown in the header message # Error on title shown in the header message
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."""
@ -5227,6 +5230,8 @@ class TestDraftAccess(TestCase, WagtailTestUtils):
Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin') Permission.objects.get(content_type__app_label='wagtailadmin', codename='access_admin')
) )
self.site = Site.objects.first()
def test_draft_access_admin(self): def test_draft_access_admin(self):
"""Test that admin can view draft.""" """Test that admin can view draft."""
# Login as admin # Login as admin
@ -5263,7 +5268,7 @@ class TestDraftAccess(TestCase, WagtailTestUtils):
# User can view # User can view
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,7 +1,7 @@
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 from django.test import TestCase, override_settings
from django.test.client import RequestFactory from django.test.client import RequestFactory
from django.urls import reverse from django.urls import reverse
@ -10,8 +10,10 @@ 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):
self.user = get_user_model().objects.create_superuser( self.user = get_user_model().objects.create_superuser(
username='test', username='test',
email='test@email.com', email='test@email.com',
@ -22,9 +24,12 @@ 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()
request.site = Site.objects.first() site = Site.objects.first()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
return request return request
def test_userbar_tag(self): def test_userbar_tag(self):
template = Template("{% load wagtailuserbar %}{% wagtailuserbar %}") template = Template("{% load wagtailuserbar %}{% wagtailuserbar %}")
content = template.render(Context({ content = template.render(Context({
@ -64,6 +69,7 @@ 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()
@ -85,6 +91,7 @@ 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']
@ -118,6 +125,7 @@ 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

@ -1,6 +1,6 @@
from unittest import mock from unittest import mock
from django.test import RequestFactory, TestCase from django.test import RequestFactory, TestCase, override_settings
from django.urls.exceptions import NoReverseMatch from django.urls.exceptions import NoReverseMatch
from wagtail.contrib.routable_page.templatetags.wagtailroutablepage_tags import routablepageurl from wagtail.contrib.routable_page.templatetags.wagtailroutablepage_tags import routablepageurl
@ -150,6 +150,8 @@ 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(
@ -159,7 +161,9 @@ class TestRoutablePageTemplateTag(TestCase):
self.rf = RequestFactory() self.rf = RequestFactory()
self.request = self.rf.get(self.routable_page.url) self.request = self.rf.get(self.routable_page.url)
self.request.site = Site.find_for_request(self.request) site = Site.find_for_request(self.request)
self.request.META['HTTP_HOST'] = site.hostname
self.request.META['SERVER_PORT'] = site.port
self.context = {'request': self.request} self.context = {'request': self.request}
def test_templatetag_reverse_index_route(self): def test_templatetag_reverse_index_route(self):
@ -252,6 +256,7 @@ class TestRoutablePageTemplateTagForSecondSiteAtSameRoot(TestCase):
self.assertEqual(url, expected) self.assertEqual(url, expected)
@override_settings(ALLOWED_HOSTS=['*'])
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
@ -274,10 +279,11 @@ class TestRoutablePageTemplateTagForSecondSiteAtDifferentRoot(TestCase):
self.rf = RequestFactory() self.rf = RequestFactory()
self.request = self.rf.get(self.routable_page.url) self.request = self.rf.get(self.routable_page.url)
self.request.site = Site.find_for_request(self.request)
self.context = {'request': self.request} self.context = {'request': self.request}
self.request.site = second_site self.request.META['HTTP_HOST'] = second_site.hostname
self.request.META['SERVER_PORT'] = second_site.port
def test_templatetag_reverse_index_route(self): def test_templatetag_reverse_index_route(self):
url = routablepageurl(self.context, self.routable_page, url = routablepageurl(self.context, self.routable_page,

Wyświetl plik

@ -1,11 +1,13 @@
from django.http import HttpRequest
from django.template import Context, RequestContext, Template, engines from django.template import Context, RequestContext, Template, engines
from django.test import TestCase from django.test import TestCase, override_settings
from wagtail.core.models import Page, Site from wagtail.core.models import Page, Site
from wagtail.tests.testapp.models import TestSetting 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()
@ -28,8 +30,10 @@ class TemplateTestCase(TestCase, WagtailTestUtils):
def get_request(self, site=None): def get_request(self, site=None):
if site is None: if site is None:
site = self.default_site site = self.default_site
request = self.client.get('/test/', HTTP_HOST=site.hostname) #request = self.client.get('/test/', HTTP_HOST=site.hostname)
request.site = site request = HttpRequest()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
return request return request
def render(self, request, string, context=None, site=None): def render(self, request, string, context=None, site=None):
@ -80,6 +84,9 @@ class TestContextProcessor(TemplateTestCase):
request = self.get_request() request = self.get_request()
get_title = '{{ settings.tests.testsetting.title }}' get_title = '{{ settings.tests.testsetting.title }}'
# force site query before hand
Site.find_for_request(request)
for i in range(1, 4): for i in range(1, 4):
with self.assertNumQueries(1): with self.assertNumQueries(1):
self.assertEqual( self.assertEqual(
@ -170,8 +177,10 @@ class TestSettingsJinja(TemplateTestCase):
else: else:
site = Site.objects.get(is_default_site=True) site = Site.objects.get(is_default_site=True)
request = self.client.get('/test/', HTTP_HOST=site.hostname) #request = self.client.get('/test/', HTTP_HOST=site.hostname)
request.site = site request = HttpRequest()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
context['request'] = request context['request'] = request
template = self.engine.from_string(string) template = self.engine.from_string(string)
@ -217,8 +226,12 @@ class TestSettingsJinja(TemplateTestCase):
# Cant use the default 'self.render()' as it does DB queries to get # Cant use the default 'self.render()' as it does DB queries to get
# site, dummy request # site, dummy request
site = Site.objects.get(is_default_site=True) site = Site.objects.get(is_default_site=True)
request = self.client.get('/test/', HTTP_HOST=site.hostname) request = HttpRequest()
request.site = site request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
# run extra query before hand
Site.find_for_request(request)
for i in range(1, 4): for i in range(1, 4):
with self.assertNumQueries(1): with self.assertNumQueries(1):

Wyświetl plik

@ -84,7 +84,7 @@ class TestSitemapGenerator(TestCase):
sitemap = Sitemap(request) sitemap = Sitemap(request)
with self.assertNumQueries(16): with self.assertNumQueries(17):
urls = [url['location'] for url in sitemap.get_urls(1, django_site, req_protocol)] urls = [url['location'] for url in sitemap.get_urls(1, django_site, req_protocol)]
self.assertIn('http://localhost/', urls) # Homepage self.assertIn('http://localhost/', urls) # Homepage

Wyświetl plik

@ -21,7 +21,8 @@ class TestCoreGlobalsAndFilters(TestCase):
if request_context: if request_context:
site = Site.objects.get(is_default_site=True) site = Site.objects.get(is_default_site=True)
request = self.client.get('/test/', HTTP_HOST=site.hostname) request = self.client.get('/test/', HTTP_HOST=site.hostname)
request.site = site #request.META['HTTP_HOST'] = site.hostname
#request.META['SERVER_PORT'] = site.port
context['request'] = request context['request'] = request
template = self.engine.from_string(string) template = self.engine.from_string(string)

Wyświetl plik

@ -254,12 +254,15 @@ 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=['*'])
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)
# An underscore is not valid according to RFC 1034/1035
# and will raise a DisallowedHost Exception
second_events_site = Site.objects.create( second_events_site = Site.objects.create(
hostname='second_events.example.com', root_page=events_page) hostname='second-events.example.com', root_page=events_page)
default_site = Site.objects.get(is_default_site=True) default_site = Site.objects.get(is_default_site=True)
homepage = Page.objects.get(url_path='/home/') homepage = Page.objects.get(url_path='/home/')
@ -288,17 +291,20 @@ class TestRouting(TestCase):
self.assertEqual(christmas_page.get_site(), events_site) self.assertEqual(christmas_page.get_site(), events_site)
request = HttpRequest() request = HttpRequest()
request.META['HTTP_HOST'] = events_site.hostname
request.META['SERVER_PORT'] = events_site.port
request.site = events_site
self.assertEqual( self.assertEqual(
christmas_page.get_url_parts(request=request), christmas_page.get_url_parts(request=request),
(events_site.id, 'http://events.example.com', '/christmas/') (events_site.id, 'http://events.example.com', '/christmas/')
) )
request.site = second_events_site request2 = HttpRequest()
request2.META['HTTP_HOST'] = second_events_site.hostname
request2.META['SERVER_PORT'] = second_events_site.port
self.assertEqual( self.assertEqual(
christmas_page.get_url_parts(request=request), christmas_page.get_url_parts(request=request2),
(second_events_site.id, 'http://second_events.example.com', '/christmas/') (second_events_site.id, 'http://second-events.example.com', '/christmas/')
) )
@override_settings(ROOT_URLCONF='wagtail.tests.non_root_urls') @override_settings(ROOT_URLCONF='wagtail.tests.non_root_urls')
@ -335,12 +341,15 @@ 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/')
request = HttpRequest() request = HttpRequest()
request.user = AnonymousUser() request.user = AnonymousUser()
request.site = Site.objects.first() site = Site.objects.first()
request.META['HTTP_HOST'] = site.hostname
request.META['SERVER_PORT'] = site.port
response = christmas_page.serve(request) response = christmas_page.serve(request)
self.assertEqual(response.status_code, 200) self.assertEqual(response.status_code, 200)
@ -367,6 +376,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=['*'])
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/')
@ -383,7 +393,10 @@ class TestRouting(TestCase):
# 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()
with self.assertNumQueries(1): request.META['HTTP_HOST'] = "dummy"
request.META['SERVER_PORT'] = "8888"
# first call with "balnk" request issues a extra query for the Site.find_for_request() call
with self.assertNumQueries(2):
self.assertEqual(homepage.get_url(request=request), '/') self.assertEqual(homepage.get_url(request=request), '/')
# subsequent calls should issue no SQL queries # subsequent calls should issue no SQL queries
with self.assertNumQueries(0): with self.assertNumQueries(0):

Wyświetl plik

@ -1,7 +1,7 @@
from django import template from django import template
from django.core.cache import cache from django.core.cache import cache
from django.http import HttpRequest from django.http import HttpRequest
from django.test import TestCase from django.test import TestCase, override_settings
from django.urls.exceptions import NoReverseMatch from django.urls.exceptions import NoReverseMatch
from django.utils.safestring import SafeText from django.utils.safestring import SafeText
@ -63,6 +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=['*'])
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'})
@ -72,16 +73,19 @@ class TestPageUrlTags(TestCase):
new_christmas_page = Page(title='Christmas', slug='christmas') new_christmas_page = Page(title='Christmas', slug='christmas')
new_home_page.add_child(instance=new_christmas_page) new_home_page.add_child(instance=new_christmas_page)
request = HttpRequest() request = HttpRequest()
request.site = second_site request.META['HTTP_HOST'] = second_site.hostname
request.META['SERVER_PORT'] = second_site.port
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=['*'])
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'})
second_site = Site.objects.create(hostname='site2.example.com', root_page=new_home_page) second_site = Site.objects.create(hostname='site2.example.com', root_page=new_home_page)
request = HttpRequest() request = HttpRequest()
request.site = second_site request.META['HTTP_HOST'] = second_site.hostname
request.META['SERVER_PORT'] = second_site.port
# There is no page with this slug on the current site, so this # There is no page with this slug on the current site, so this
# should return an absolute URL for the page on the first site. # should return an absolute URL for the page on the first site.
url = slugurl(slug='christmas', context=template.Context({'request': request})) url = slugurl(slug='christmas', context=template.Context({'request': request}))

Wyświetl plik

@ -42,7 +42,6 @@ class TestImagesJinja(TestCase):
if request_context: if request_context:
site = Site.objects.get(is_default_site=True) site = Site.objects.get(is_default_site=True)
request = self.client.get('/test/', HTTP_HOST=site.hostname) request = self.client.get('/test/', HTTP_HOST=site.hostname)
request.site = site
context['request'] = request context['request'] = request
template = self.engine.from_string(string) template = self.engine.from_string(string)

Wyświetl plik

@ -94,7 +94,6 @@ MIDDLEWARE = (
'django.contrib.messages.middleware.MessageMiddleware', 'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware',
'wagtail.core.middleware.SiteMiddleware',
'wagtail.contrib.redirects.middleware.RedirectMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware',
) )