aboutsummaryrefslogtreecommitdiffstats
path: root/djangorestframework/tests/throttling.py
diff options
context:
space:
mode:
authormarkotibold2011-06-11 01:49:22 +0200
committermarkotibold2011-06-11 01:49:22 +0200
commit87db5fbda550e0dc1b808d1df30700bf2606c10d (patch)
tree1a8970235790e8fc7335f7e6cdeb45b8d9659673 /djangorestframework/tests/throttling.py
parent8ef333a29f1981b1ca4fa060998863285f408019 (diff)
downloaddjango-rest-framework-87db5fbda550e0dc1b808d1df30700bf2606c10d.tar.bz2
implemented per user throttling
(commit to permissions.py fixes a bug that came out of the unittest)
Diffstat (limited to 'djangorestframework/tests/throttling.py')
-rw-r--r--djangorestframework/tests/throttling.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/djangorestframework/tests/throttling.py b/djangorestframework/tests/throttling.py
index 189f3353..b33836a2 100644
--- a/djangorestframework/tests/throttling.py
+++ b/djangorestframework/tests/throttling.py
@@ -4,6 +4,7 @@ from django.conf.urls.defaults import patterns
from django.test import TestCase
from django.utils import simplejson as json
from django.contrib.auth.models import User
+from django.core.cache import cache
from djangorestframework.compat import RequestFactory
from djangorestframework.views import View
@@ -25,7 +26,8 @@ class ThrottlingTests(TestCase):
urls = 'djangorestframework.tests.throttling'
def setUp(self):
- time.sleep(1) # make sure throttle is expired before next test
+ """Reset the cache so that no throttles will be active"""
+ cache.clear()
def test_requests_are_throttled(self):
"""Ensure request rate is limited"""
@@ -34,17 +36,19 @@ class ThrottlingTests(TestCase):
response = self.client.get('/')
self.assertEqual(503, response.status_code)
- def DISABLEDtest_request_throttling_is_per_user(self):
+ def test_request_throttling_is_per_user(self):
#Can not login user.....Dunno why...
"""Ensure request rate is only limited per user, not globally"""
- User.objects.create_user('testuser', 'test', 'foo@bar.baz').save()
- User.objects.create_user('another_testuser', 'test', 'foo@bar.baz').save()
-
- self.assertTrue(self.client.login(username='testuser', password='test'))
+ for username in ('testuser', 'another_testuser'):
+ user = User.objects.create(username=username)
+ user.set_password('test')
+ user.save()
+
+ self.assertTrue(self.client.login(username='testuser', password='test'), msg='Login Failed')
for dummy in range(3):
response = self.client.get('/')
self.client.logout()
- self.assertTrue(self.client.login(username='another_testuser', password='test'))
+ self.assertTrue(self.client.login(username='another_testuser', password='test'), msg='Login failed')
self.assertEqual(200, response.status_code)
def test_request_throttling_expires(self):