Beispiel #1
0
 def test_handle_HTTP_403_Error(self):
     error = cb.praw.requests.HTTPError('403 Forbidden')
     mock = Mock(side_effect=error)
     mock.__name__ = str('mock')
     wrapped = cb.handle_praw_exceptions(max_attempts=2)(mock)
     with patch('{}.cb.time.sleep'.format(__name__)) as mock_sleep:
         wrapped()
         # Should not attempt retry after 403 error
         self.assertFalse(mock_sleep.called)
Beispiel #2
0
 def test_handle_HTTP_403_Error(self):
     error = cb.praw.requests.HTTPError('403 Forbidden')
     mock = Mock(side_effect=error)
     mock.__name__ = str('mock')
     wrapped = cb.handle_praw_exceptions(max_attempts=2)(mock)
     with patch('__main__.cb.time.sleep') as mock_sleep:
         wrapped()
         assert not mock_sleep.called, ("Should not attempt retry "
                                        "after 403 error")
Beispiel #3
0
 def test_handle_generic_HTTP_Error(self):
     error = cb.praw.requests.HTTPError('')
     mock = Mock(side_effect=error)
     mock.__name__ = str('mock')
     wrapped = cb.handle_praw_exceptions()(mock)
     with patch('{}.cb.time.sleep'.format(__name__)) as mock_sleep:
         try:
             wrapped()
         except cb.praw.requests.HTTPError:
             self.fail("HTTPError not properly handled")
Beispiel #4
0
 def test_handle_API_Exceptions(self):
     error = cb.praw.errors.APIException('', '', {})
     mock = Mock(side_effect=error)
     mock.__name__ = str('mock')
     wrapped = cb.handle_praw_exceptions()(mock)
     with patch('{}.cb.time.sleep'.format(__name__)) as mock_sleep:
         wrapped()
         try:
             wrapped()
         except cb.praw.requests.HTTPError:
             self.fail("APIException not properly handled")
Beispiel #5
0
 def test_handle_rate_limit_exceeded(self):
     error = cb.praw.errors.RateLimitExceeded('', '',
                                              response = {'ratelimit': 9})
     mock = Mock(side_effect=error)
     mock.__name__ = str('mock')
     wrapped = cb.handle_praw_exceptions()(mock)
     with patch('{}.cb.time.sleep'.format(__name__)) as mock_sleep:
         try:
             wrapped()
         except cb.praw.errors.RateLimitExceeded:
             self.fail("RateLimitExceeded not properly handled")
     mock_sleep.assert_called_once_with(9)
Beispiel #6
0
    def test_generic_exceptions_propogate(self):
        mock = Mock(side_effect=RuntimeError())
        mock.__name__ = str('mock')

        wrapped = cb.handle_praw_exceptions()(mock)
        self.assertRaises(RuntimeError, wrapped)