def test_log(self): token = RequestToken().save() factory = RequestFactory() request = factory.get('/') request.user = AnonymousUser() request.META = {} response = HttpResponse("foo", status=123) def assertUsedToDate(expected): token.refresh_from_db(fields=['used_to_date']) self.assertEqual(token.used_to_date, expected) log = token.log(request, response) self.assertEqual(RequestTokenLog.objects.get(), log) self.assertEqual(log.user, None) self.assertEqual(log.token, token) self.assertEqual(log.user_agent, 'unknown') self.assertEqual(log.client_ip, None) self.assertEqual(log.status_code, 123) assertUsedToDate(1) request.META['REMOTE_ADDR'] = '192.168.0.1' log = token.log(request, response) self.assertEqual(log.client_ip, '192.168.0.1') assertUsedToDate(2) request.META['HTTP_X_FORWARDED_FOR'] = '192.168.0.2' log = token.log(request, response) self.assertEqual(log.client_ip, '192.168.0.2') assertUsedToDate(3) request.META['HTTP_USER_AGENT'] = 'test_agent' log = token.log(request, response) self.assertEqual(log.user_agent, 'test_agent') token.refresh_from_db(fields=['used_to_date']) assertUsedToDate(4) with mock.patch.object(RequestTokenErrorLogQuerySet, 'create_error_log') as mock_log: log = token.log(request, response, MaxUseError('foo')) self.assertEqual(mock_log.call_count, 1) self.assertEqual(log.user_agent, 'test_agent') token.refresh_from_db(fields=['used_to_date']) assertUsedToDate(5)
def test_log(self): token = RequestToken().save() factory = RequestFactory() request = factory.get("/") request.user = AnonymousUser() request.META = {} response = HttpResponse("foo", status=123) def assertUsedToDate(expected): token.refresh_from_db(fields=["used_to_date"]) self.assertEqual(token.used_to_date, expected) log = token.log(request, response) self.assertEqual(RequestTokenLog.objects.get(), log) self.assertEqual(log.user, None) self.assertEqual(log.token, token) self.assertEqual(log.user_agent, "unknown") self.assertEqual(log.client_ip, None) self.assertEqual(log.status_code, 123) assertUsedToDate(1) request.META["REMOTE_ADDR"] = "192.168.0.1" log = token.log(request, response) self.assertEqual(log.client_ip, "192.168.0.1") assertUsedToDate(2) request.META["HTTP_X_FORWARDED_FOR"] = "192.168.0.2" log = token.log(request, response) self.assertEqual(log.client_ip, "192.168.0.2") assertUsedToDate(3) request.META["HTTP_USER_AGENT"] = "test_agent" log = token.log(request, response) self.assertEqual(log.user_agent, "test_agent") token.refresh_from_db(fields=["used_to_date"]) assertUsedToDate(4) with mock.patch.object(RequestTokenErrorLogQuerySet, "create_error_log") as mock_log: log = token.log(request, response, MaxUseError("foo")) self.assertEqual(mock_log.call_count, 1) self.assertEqual(log.user_agent, "test_agent") token.refresh_from_db(fields=["used_to_date"]) assertUsedToDate(5)