Source code for rpaper.apps.reservations.tests.test_middleware

from django.test import TestCase, RequestFactory
from django.contrib.auth.models import AnonymousUser

from ..middleware import (
    RecordCredentialMiddleware,
    get_record_credential,
)
from .factories import UserFactory


[docs]class RecordCredentialMiddlewareTestCase(TestCase):
[docs] def setUp(self): self.factory = RequestFactory()
[docs] def test_anonymous_user(self): middleware = RecordCredentialMiddleware(lambda response: None) request = self.factory.get('/') request.user = AnonymousUser() middleware(request) self.assertEqual(get_record_credential(), None) request.META['X-RESERVATIONS-RECORD-CREDENTIAL'] = 'foobar' middleware(request) self.assertEqual(get_record_credential(), 'foobar') del request.META['X-RESERVATIONS-RECORD-CREDENTIAL'] middleware(request) self.assertEqual(get_record_credential(), None)
[docs] def test_authenticated_user(self): middleware = RecordCredentialMiddleware(lambda response: None) request = self.factory.get('/') request.user = UserFactory() middleware(request) self.assertEqual(get_record_credential(), None) request.META['X-RESERVATIONS-RECORD-CREDENTIAL'] = 'foobar' middleware(request) self.assertEqual(get_record_credential(), 'foobar') del request.META['X-RESERVATIONS-RECORD-CREDENTIAL'] middleware(request) self.assertEqual(get_record_credential(), None)