mirror of
https://github.com/haiwen/seahub.git
synced 2025-08-01 23:38:37 +00:00
31 lines
931 B
Python
31 lines
931 B
Python
import time
|
|
|
|
from django.core.urlresolvers import reverse
|
|
from django.conf import settings
|
|
from django.test import override_settings
|
|
|
|
from seahub.test_utils import BaseTestCase
|
|
|
|
|
|
@override_settings(REST_FRAMEWORK = {'DEFAULT_THROTTLE_RATES':
|
|
{'ping': '600/minute', 'anon': '5000/minute', 'user': '10/minute',},})
|
|
class ThrottingsTest(BaseTestCase):
|
|
|
|
def setUp(self):
|
|
self.login_as(self.user)
|
|
|
|
def test_whitelist(self):
|
|
WHITELIST = settings.REST_FRAMEWORK_THROTTING_WHITELIST
|
|
for i in range(12):
|
|
time.sleep(0.1)
|
|
res = self.client.get(reverse('api2-pub-repos'))
|
|
if i > 10:
|
|
assert res.status_code == 429
|
|
WHITELIST.append('127.0.0.1')
|
|
count = 0
|
|
for i in range(12):
|
|
time.sleep(0.1)
|
|
res = self.client.get(reverse('api2-pub-repos'))
|
|
if i > 10:
|
|
assert res.status_code == 200
|