def __call__(self, *args, **kwargs): if not self.call_list: raise AssertionError("Mock object called more times than expected") expected_args, return_value, side_effect = self.call_list.pop(0) if expected_args != callargs((args, kwargs)): raise AssertionError("Expected: %s\nCalled with: %s" % ((args, kwargs), expected_args)) if side_effect is not None: raise side_effect else: return return_value
def __call__(self, *args, **kwargs): if not self.call_list: raise AssertionError("Mock object called more times than expected") expected_args, return_value, side_effect = self.call_list.pop(0) if expected_args != callargs((args, kwargs)): raise AssertionError('Expected: %s\nCalled with: %s' % ((args, kwargs), expected_args)) if side_effect is not None: raise side_effect else: return return_value
def test_network_retry(self): """Network failure is retried, with a sleep call between retries.""" self.sg._http_request.side_effect = httplib2.HttpLib2Error with mock.patch("time.sleep") as mock_sleep: self.assertRaises(httplib2.HttpLib2Error, self.sg.info) self.assertTrue( self.sg.config.max_rpc_attempts == self.sg._http_request.call_count, "Call is repeated") # Ensure that sleep was called with the retry interval between each attempt attempt_interval = self.sg.config.rpc_attempt_interval / 1000.0 calls = [mock.callargs(((attempt_interval, ), {}))] calls *= (self.sg.config.max_rpc_attempts - 1) self.assertTrue(mock_sleep.call_args_list == calls, "Call is repeated at correct interval.")
def expect(self, *args, **kwargs): return_value = kwargs.pop("return_value", None) side_effect = kwargs.pop("side_effect", None) call_spec = (callargs((args, kwargs)), return_value, side_effect) self.call_list.append(call_spec)
def expect(self, *args, **kwargs): return_value = kwargs.pop('return_value', None) side_effect = kwargs.pop('side_effect', None) call_spec = (callargs((args, kwargs)), return_value, side_effect) self.call_list.append(call_spec)