diff --git a/src/tests/multidomain/test_middlewares.py b/src/tests/multidomain/test_middlewares.py index eca527faf1..1c2d931c87 100644 --- a/src/tests/multidomain/test_middlewares.py +++ b/src/tests/multidomain/test_middlewares.py @@ -86,3 +86,12 @@ def test_cookie_domain_on_main_domain(env, client): assert r.status_code == 200 assert r.client.cookies['pretix_csrftoken']['domain'] == 'example.com' assert r.client.cookies['pretix_session']['domain'] == 'example.com' + + +@pytest.mark.django_db +def test_with_forwarded_host(env, client): + settings.USE_X_FORWARDED_HOST = True + KnownDomain.objects.create(domainname='foobar', organizer=env[0]) + r = client.get('/2015/', HTTP_X_FORWARDED_HOST='foobar') + assert r.status_code == 200 + settings.USE_X_FORWARDED_HOST = False diff --git a/src/tests/multidomain/test_templatetag.py b/src/tests/multidomain/test_templatetag.py index a0e7653c3a..f335d035d8 100644 --- a/src/tests/multidomain/test_templatetag.py +++ b/src/tests/multidomain/test_templatetag.py @@ -1,6 +1,7 @@ import pytest from django.conf import settings -from django.template import Context, Template +from django.core.urlresolvers import NoReverseMatch +from django.template import Context, Template, TemplateSyntaxError from django.utils.timezone import now from pretix.base.models import Event, Organizer @@ -54,3 +55,33 @@ def test_event_custom_domain_kwargs(env): 'event': env[1] })).strip() assert rendered == 'http://foobar/2015/checkout/payment/' + + +@pytest.mark.django_db +def test_only_kwargs(env): + with pytest.raises(TemplateSyntaxError): + Template("{% load eventurl %} {% eventurl event 'presale:event.checkout' step %}") + + +@pytest.mark.django_db +def test_invalid_url(env): + tpl = Template("{% load eventurl %} {% eventurl event 'presale:event.foo' %}") + with pytest.raises(NoReverseMatch): + tpl.render(Context({ + 'event': env[1] + })).strip() + + +@pytest.mark.django_db +def test_without_event(env): + with pytest.raises(TemplateSyntaxError): + Template("{% load eventurl %} {% eventurl 'presale:event.index' %}") + + +@pytest.mark.django_db +def test_save_as(env): + tpl = Template("{% load eventurl %} {% eventurl event 'presale:event.index' as u %}{{ u }}") + rendered = tpl.render(Context({ + 'event': env[1] + })).strip() + assert rendered == '/mrmcd/2015/'