2011-04-27 21:08:32 +04:00
|
|
|
from django.conf.urls.defaults import patterns
|
|
|
|
from django.test import TestCase
|
|
|
|
from django.utils import simplejson as json
|
|
|
|
|
|
|
|
from djangorestframework.compat import RequestFactory
|
2011-05-04 12:21:17 +04:00
|
|
|
from djangorestframework.views import BaseView
|
2011-05-10 13:49:28 +04:00
|
|
|
from djangorestframework.permissions import PerUserThrottling
|
2011-04-27 21:08:32 +04:00
|
|
|
|
|
|
|
|
2011-05-04 12:21:17 +04:00
|
|
|
class MockView(BaseView):
|
2011-05-10 13:49:28 +04:00
|
|
|
permissions = ( PerUserThrottling, )
|
2011-04-27 21:08:32 +04:00
|
|
|
throttle = (3, 1) # 3 requests per second
|
|
|
|
|
|
|
|
def get(self, request):
|
|
|
|
return 'foo'
|
|
|
|
|
|
|
|
urlpatterns = patterns('',
|
2011-05-04 12:21:17 +04:00
|
|
|
(r'^$', MockView.as_view()),
|
2011-04-27 21:08:32 +04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
#class ThrottlingTests(TestCase):
|
|
|
|
# """Basic authentication"""
|
|
|
|
# urls = 'djangorestframework.tests.throttling'
|
|
|
|
#
|
|
|
|
# def test_requests_are_throttled(self):
|
|
|
|
# """Ensure request rate is limited"""
|
|
|
|
# for dummy in range(3):
|
|
|
|
# response = self.client.get('/')
|
|
|
|
# response = self.client.get('/')
|
|
|
|
#
|
|
|
|
# def test_request_throttling_is_per_user(self):
|
|
|
|
# """Ensure request rate is only limited per user, not globally"""
|
|
|
|
# pass
|
|
|
|
#
|
|
|
|
# def test_request_throttling_expires(self):
|
|
|
|
# """Ensure request rate is limited for a limited duration only"""
|
|
|
|
# pass
|