Add test for UserRateThrottle

This commit is contained in:
Artem Muterko 2017-01-12 17:55:46 +02:00
parent 8b30218d15
commit ca085d2aed

View File

@ -424,11 +424,13 @@ class AnonRateThrottleTests(TestCase):
def setUp(self): def setUp(self):
self.throttle = AnonRateThrottle() self.throttle = AnonRateThrottle()
def tearDown(self):
User.objects.all().delete()
def test_authenticated_user_not_affected(self): def test_authenticated_user_not_affected(self):
request = Request(HttpRequest()) request = Request(HttpRequest())
user = User.objects.create(username='test') user = User.objects.create(username='test')
force_authenticate(request, user)
force_authenticate(request, user, token='test_token')
request.user = user request.user = user
assert self.throttle.get_cache_key(request, view={}) is None assert self.throttle.get_cache_key(request, view={}) is None
@ -436,3 +438,20 @@ class AnonRateThrottleTests(TestCase):
request = Request(HttpRequest()) request = Request(HttpRequest())
cache_key = self.throttle.get_cache_key(request, view={}) cache_key = self.throttle.get_cache_key(request, view={})
assert cache_key == 'throttle_anon_None' assert cache_key == 'throttle_anon_None'
class UserRateThrottleTests(TestCase):
def setUp(self):
self.throttle = UserRateThrottle()
def tearDown(self):
User.objects.all().delete()
def test_get_cache_key_returns_correct_key_if_user_is_authenticated(self):
request = Request(HttpRequest())
user = User.objects.create(username='test')
force_authenticate(request, user)
request.user = user
cache_key = self.throttle.get_cache_key(request, view={})
assert cache_key == 'throttle_user_2' # user_1 is AnonymousUser