Repository URL to install this package:
|
Version:
0.5.4 ▾
|
#!/usr/bin/env python2
import unittest
from zendesk_sync import ZendeskSync
from clean_users_test import CleanUsersTest
from zendesk import ZendeskError
from threading import Thread
import time
import logging
import sys
logger = logging.getLogger(__name__)
class TestRateLimit(CleanUsersTest):
"""
Check what happens when we reach the rate limit.
To use this test, fist make sure that you have not already hit
the rate limit. Then run the test and check log.err to see
what errors were logged.
"""
def test_update_300_times(self):
# we make sure that create_user can create a user
self.zs.create_user(
self.user_uuid,
self.primary_email,
self.emails,
self.fullname,
self.username)
user = self.zs.get_user(self.user_uuid)
self.assertEqual(user['external_id'], self.user_uuid)
def go(i):
# no multitheading support :(
zs = ZendeskSync(
'https://docker1421276072.zendesk.com',
'null@null.devnull',
'cZIO0Nnf0Rznyy6rd02hPEiV7UeTRXAEqKPSomB6')
try:
zs.update_user(user, self.primary_email, self.emails, self.fullname, self.username)
except Exception as e:
logger.exception('Thread: %s', i)
sys.exit(1)
threads = []
for i in range(300):
t = Thread(target=go, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
if __name__ == '__main__':
unittest.main()