def __init__(self, user=None, session_id=None, has_otp=False, has_sudo=False): super(MockRequest, self).__init__() self.method = "GET" if user is None: self.user = AnonymousUser() else: self.user = user session = SessionMiddleware() self.session = session.SessionStore(session_id) self._messages = SessionStorage(self) self.META = {"REMOTE_ADDR": "127.0.0.1"} # sudo ElevateMiddleware(lambda x: x)(self) if has_sudo: grant_sudo(self) # otp if has_otp: grant_otp(self, self.user) OTPMiddleware(lambda x: x)(self)
def test_should_handle_unknown_errors(self): responses.add( responses.POST, "https://fake-cas.qed.ai/api/universal_ids/", json={ 'errors': [ dict( error_code='fake_unknown_error', error_message='Fake unknown error.', ) ] }, status=606, ) request = RequestFactory().get('/') request.session = {} request._messages = SessionStorage(request) request.user = User(is_superuser=True) User.objects.create_user("blah", "*****@*****.**") queryset = User.objects.all() admin = CasAwareUserAdmin(User, admin_site) admin.enable_cas_login(request, queryset) msg, = get_messages(request) self.assertEqual(msg.message, 'Fake unknown error.') self.assertEqual(msg.level, messages.ERROR)
def test_should_truncate_error_messages_if_there_are_too_many(self): responses.add( responses.POST, "https://fake-cas.qed.ai/api/universal_ids/", json={ 'errors': [ dict( error_code='no_such_user', error_message='User with given email was not found.', email='*****@*****.**', ) for i in range(0, 100) ] }, status=404, ) request = RequestFactory().get('/') request.session = {} request._messages = SessionStorage(request) request.user = User(is_superuser=True) User.objects.create_user("blah", "*****@*****.**") queryset = User.objects.all() admin = CasAwareUserAdmin(User, admin_site) admin.enable_cas_login(request, queryset) msgs = list(get_messages(request)) self.assertTrue(len(msgs) < 30) self.assertEqual( msgs[0].message, '[email protected] - User with given email was not found.') self.assertEqual(msgs[0].level, messages.ERROR) self.assertEqual(msgs[-1].message, '%d other errors occurred' % (100 - len(msgs) + 1)) self.assertEqual(msgs[-1].level, messages.ERROR)
def test_should_show_error_message_if_user_does_not_exist_in_cas(self): responses.add( responses.POST, "https://fake-cas.qed.ai/api/universal_ids/", json={ 'errors': [ dict( error_code='no_such_user', error_message='User with given email was not found.', email='*****@*****.**', ) ] }, status=404, ) request = RequestFactory().get('/') request.session = {} request.user = User(is_superuser=True) request._messages = SessionStorage(request) User.objects.create_user("blah", "*****@*****.**") queryset = User.objects.all() admin = CasAwareUserAdmin(User, admin_site) admin.enable_cas_login(request, queryset) msg, = get_messages(request) self.assertEqual( msg.message, '[email protected] - User with given email was not found.') self.assertEqual(msg.level, messages.ERROR)
def get_request(): request = RequestFactory().request() request.session = {} request._messages = SessionStorage(request) return request
def setUp(self): super(MessageTest, self).setUp() self.request.session = {} self._old_LEVEL_TAGS = messages_base.LEVEL_TAGS messages_base.LEVEL_TAGS = DEFAULT_TAGS self.request._messages = SessionStorage(self.request)