Esempio n. 1
0
 def test_statsbeat_206_no_retry(self):
     _requests_map.clear()
     mixin = TransportMixin()
     mixin.options = Options()
     with mock.patch('requests.post') as post:
         post.return_value = MockResponse(
             206,
             json.dumps({
                 'itemsReceived':
                 3,
                 'itemsAccepted':
                 2,
                 'errors': [
                     {
                         'index': 0,
                         'statusCode': 400,
                         'message': '',
                     },
                 ],
             }))
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(len(_requests_map), 3)
         self.assertIsNotNone(_requests_map['duration'])
         self.assertEqual(_requests_map['count'], 1)
         self.assertEqual(_requests_map['failure'], 1)
         self.assertEqual(result, -206)
     _requests_map.clear()
Esempio n. 2
0
 def test_transmission_307_circular_reference(self):
     mixin = TransportMixin()
     mixin.options = Options()
     mixin._consecutive_redirects = 0
     mixin.options.endpoint = "https://example.com"
     with mock.patch('requests.post') as post:
         post.return_value = MockResponse(
             307, '{}', {"location": "https://example.com"})  # noqa: E501
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(result, -307)
     self.assertEqual(post.call_count, _MAX_CONSECUTIVE_REDIRECTS)
     self.assertEqual(mixin.options.endpoint, "https://example.com")
Esempio n. 3
0
 def test_statsbeat_timeout(self):
     _requests_map.clear()
     mixin = TransportMixin()
     mixin.options = Options()
     with mock.patch('requests.post', throw(requests.Timeout)):
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(len(_requests_map), 3)
         self.assertIsNotNone(_requests_map['duration'])
         self.assertEqual(_requests_map['count'], 1)
         self.assertEqual(_requests_map['retry'], 1)
         self.assertEqual(result, mixin.options.minimum_retry_interval)
     _requests_map.clear()
Esempio n. 4
0
 def test_statsbeat_exception(self):
     _requests_map.clear()
     mixin = TransportMixin()
     mixin.options = Options()
     with mock.patch('requests.post', throw(Exception)):
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(len(_requests_map), 3)
         self.assertIsNotNone(_requests_map['duration'])
         self.assertEqual(_requests_map['exception'], 1)
         self.assertEqual(_requests_map['count'], 1)
         self.assertEqual(result, -1)
     _requests_map.clear()
Esempio n. 5
0
 def test_statsbeat_439(self):
     _requests_map.clear()
     mixin = TransportMixin()
     mixin.options = Options()
     with mock.patch('requests.post') as post:
         post.return_value = MockResponse(439, 'unknown')
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(len(_requests_map), 3)
         self.assertIsNotNone(_requests_map['duration'])
         self.assertEqual(_requests_map['throttle'], 1)
         self.assertEqual(_requests_map['count'], 1)
         self.assertEqual(result, -439)
     _requests_map.clear()
Esempio n. 6
0
 def test_statsbeat_403(self):
     _requests_map.clear()
     mixin = TransportMixin()
     mixin.options = Options()
     with mock.patch('requests.post') as post:
         post.return_value = MockResponse(403, 'unknown')
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(len(_requests_map), 4)
         self.assertIsNotNone(_requests_map['duration'])
         self.assertEqual(_requests_map['retry'], 1)
         self.assertEqual(_requests_map['count'], 1)
         self.assertEqual(_requests_map['failure'], 1)
         self.assertEqual(result, mixin.options.minimum_retry_interval)
     _requests_map.clear()
Esempio n. 7
0
 def test_statsbeat_307(self):
     _requests_map.clear()
     mixin = TransportMixin()
     mixin.options = Options()
     mixin._consecutive_redirects = 0
     mixin.options.endpoint = "test.endpoint"
     with mock.patch('requests.post') as post:
         post.return_value = MockResponse(
             307, '{}', {"location": "https://example.com"})  # noqa: E501
         result = mixin._transmit([1, 2, 3])
         self.assertEqual(len(_requests_map), 4)
         self.assertIsNotNone(_requests_map['duration'])
         self.assertEqual(_requests_map['exception'], 1)
         self.assertEqual(_requests_map['count'], 10)
         self.assertEqual(_requests_map['failure'], 10)
         self.assertEqual(result, -307)
     _requests_map.clear()