Ejemplo n.º 1
0
 def test_rate_limit_only_applies_to_same_url(self):
     before_call = datetime.datetime.now()
     response1 = flock.rateLimitedRequest('http://url1.com', 5.0)
     response2 = flock.rateLimitedRequest('http://url2.com', 5.0)
     after_call = datetime.datetime.now()
     delta = after_call - before_call
     self.assertLess(delta.seconds, 5.0)
Ejemplo n.º 2
0
 def test_rate_limit_call_waits_no_longer_than_timeout_for_second_request(self):
     before_call = datetime.datetime.now()
     response = flock.rateLimitedRequest('http://url.com', 1.0)
     response = flock.rateLimitedRequest('http://url.com', 1.0)
     after_call = datetime.datetime.now()
     delta = after_call - before_call
     self.assertLess(delta.seconds, 2.0)
Ejemplo n.º 3
0
 def test_rate_limit_call_waits_set_seconds_before_second_attempt(self):
     before_call = datetime.datetime.now()
     response = flock.rateLimitedRequest('http://url.com', 1.0)
     response = flock.rateLimitedRequest('http://url.com', 1.0)
     after_call = datetime.datetime.now()
     delta = after_call - before_call
     self.assertGreaterEqual(delta.seconds, 1.0)
Ejemplo n.º 4
0
 def test_rate_limit_returns_urlopen_reponse(self):
     urlopen_response = io.StringIO(u'{}')
     flock.urllib2.urlopen = mock.MagicMock(return_value=urlopen_response)
     response = flock.rateLimitedRequest('url', 1.0)
     self.assertEquals(response, urlopen_response)
Ejemplo n.º 5
0
 def test_rate_limit_calls_urlopen_when_timeout_has_passed(self):
     response = flock.rateLimitedRequest('url', 1.0)
     self.assertEqual(flock.urllib2.urlopen.call_count, 1)