def test_update_ratelimits(self): with open(self.tests_path + '/fixtures/application_rate_limit_status.json') as f: response = json.load(f) ratelimiter = RateLimiter() ratelimiter.refresh_limits(response['resources']) self.assertEqual(len(ratelimiter), 80)
def test_check_limit_with_no_more_remaining(self): response = get_fixture('application_rate_limit_status.json') ratelimiter = RateLimiter() ratelimiter.refresh_limits(response['resources']) for limit in ratelimiter.values(): limit['percent'] = 0 limit['remaining'] = 0 limit['reset'] = 100 with freeze_time(datetime.datetime.fromtimestamp(0)): ratelimiter['/geo/search']['remaining'] = 0 ratelimiter['/geo/search']['percent'] = 0 with patch('time.sleep') as p: with self.assertRaises(RateLimiterExpired): ratelimiter.check_limit('geo/search') p.assert_called_with(100)
def test_check_limit_with_no_more_remaining(self): with open(self.tests_path + '/fixtures/application_rate_limit_status.json') as f: response = json.load(f) ratelimiter = RateLimiter() ratelimiter.refresh_limits(response['resources']) for limit in ratelimiter.values(): limit['percent'] = 0 limit['remaining'] = 0 limit['reset'] = 100 with freeze_time(datetime.datetime.fromtimestamp(0)): ratelimiter['/geo/search']['remaining'] = 0 ratelimiter['/geo/search']['percent'] = 0 with patch('time.sleep') as p: with self.assertRaises(RateLimiterExpired): ratelimiter.check_limit('geo/search') p.assert_called_with(100)
def test_update_ratelimits(self): response = get_fixture('application_rate_limit_status.json') ratelimiter = RateLimiter() ratelimiter.refresh_limits(response['resources']) self.assertEqual(len(ratelimiter), 80)