Exemple #1
0
def test_url_conf_set(
    settings,
    rf,
    subdomain,
    expected_subdomain,
    expected_challenge,
    expected_url_conf,
):
    """Subdomains should have the correct url_conf attached"""
    settings.ALLOWED_HOSTS = [f".{SITE_DOMAIN}"]
    c = ChallengeFactory(short_name="c")

    if subdomain is not None:
        host = f"{subdomain}.{SITE_DOMAIN}"
    else:
        host = SITE_DOMAIN

    request = CurrentSiteMiddleware(lambda x: x)(rf.get("/", HTTP_HOST=host))
    request = subdomain_middleware(lambda x: x)(request)
    request = challenge_subdomain_middleware(lambda x: x)(request)
    request = subdomain_urlconf_middleware(lambda x: x)(request)

    assert request.subdomain == expected_subdomain
    assert request.urlconf == expected_url_conf
    if expected_challenge:
        assert request.challenge == c
    else:
        assert request.challenge is None
Exemple #2
0
def test_challenge_attribute(settings, rf, subdomain):
    settings.ALLOWED_HOSTS = [f".{SITE_DOMAIN}"]

    c = ChallengeFactory(short_name="challengesubdomaintest")

    request = rf.get("/")
    request.subdomain = subdomain

    assert not hasattr(request, "challenge")

    request = CurrentSiteMiddleware(lambda x: x)(request)
    request = challenge_subdomain_middleware(lambda x: x)(request)

    if subdomain is None:
        assert request.challenge is None
    elif subdomain.lower() == c.short_name.lower():
        assert request.challenge == c
Exemple #3
0
def test_rendering_challenge_settings(settings, rf, subdomain, response_type,
                                      expected_challenge):
    """
    Requests on rendering subdomains should not have a challenge attached nor
    redirect.
    """
    settings.ALLOWED_HOSTS = [f".{SITE_DOMAIN}"]
    c = ChallengeFactory(short_name="c")

    request = rf.get("/")
    request.subdomain = subdomain

    assert not hasattr(request, "challenge")

    request = CurrentSiteMiddleware(lambda x: x)(request)
    request = challenge_subdomain_middleware(lambda x: x)(request)

    assert isinstance(request, response_type)

    if response_type is WSGIRequest:
        if expected_challenge:
            assert request.challenge == c
        else:
            assert request.challenge is None
Exemple #4
0
 def test_request(self):
     """ Makes sure that the request has correct `site` attribute. """
     middleware = CurrentSiteMiddleware()
     request = HttpRequest()
     middleware.process_request(request)
     self.assertEqual(request.site.id, settings.SITE_ID)
Exemple #5
0
    def test_request(self):
        def get_response(request):
            return HttpResponse(str(request.site.id))

        response = CurrentSiteMiddleware(get_response)(HttpRequest())
        self.assertContains(response, settings.SITE_ID)
Exemple #6
0
 def test_old_style_request(self):
     """The request has correct `site` attribute."""
     middleware = CurrentSiteMiddleware()
     request = HttpRequest()
     middleware.process_request(request)
     self.assertEqual(request.site.id, settings.SITE_ID)
Exemple #7
0
def test_invalid_domain(settings, rf, host, subdomain):
    # Other domains will get the main challenge by setting subdomain = None
    settings.ALLOWED_HOSTS = [f".{SITE_DOMAIN}", f".not{SITE_DOMAIN}"]
    request = CurrentSiteMiddleware(lambda x: x)(rf.get("/", HTTP_HOST=host))
    request = subdomain_middleware(lambda x: x)(request)
    assert request.subdomain == subdomain
Exemple #8
0
def test_subdomain_attribute(settings, rf, host, subdomain):
    settings.ALLOWED_HOSTS = [f".{SITE_DOMAIN}"]
    request = CurrentSiteMiddleware(lambda x: x)(rf.get("/", HTTP_HOST=host))
    request = subdomain_middleware(lambda x: x)(request)
    assert request.subdomain == subdomain