def test_clientConnected(self): reset = self.patch_reconnector('resetDelay') s = ReconnectingClientService(object(), object()) p = object() s.clientConnected(p) self.assertIdentical(s._protocol, p) reset.assertCalledOnce()
def test_resetDelay(self): initial_delay = ReconnectingClientService.initialDelay s = ReconnectingClientService(object(), object()) s.delay, s.retries = initial_delay + 1, 5 s.resetDelay() self.assertEqual(s.delay, initial_delay) self.assertEqual(s.retries, 0)
def clientConnected(self, protocol): self.protocol_instance = protocol ReconnectingClientService.clientConnected(self, protocol) d = self.connect_d self.connect_d = Deferred() self._process_queue() d.callback(protocol)
def test_clientConnectionLost_while_stopping(self): retry = self.patch_reconnector('retry') s = ReconnectingClientService(object(), object()) d = s._protocolStoppingDeferred = Deferred() s.clientConnectionLost(Failure(Exception())) self.assertIdentical(s._protocol, None) self.assertIdentical(s._protocolStoppingDeferred, None) retry.assertCalledOnce() self.assertTrue(d.called)
def make_reconnector(self, **kw): e = ClientTestEndpoint() f = object() s = ReconnectingClientService(e, f) for key, value in kw.items(): setattr(s, key, value) self.addCleanup(s.stopService) return s, e, f
def test_startService(self): retry = self.patch_reconnector('retry') s = ReconnectingClientService(object(), object()) s.startService() self.assertTrue(s.continueTrying) retry.assertCalledOnce(delay=0.0)
def test_clientConnectionLost(self): retry = self.patch_reconnector('retry') s = ReconnectingClientService(object(), object()) s.clientConnectionLost(Failure(Exception())) self.assertIdentical(s._protocol, None) retry.assertCalledOnce()
def clientConnectionLost(self, reason): self.protocol_instance = None ReconnectingClientService.clientConnectionLost(self, reason)
def __init__(self, endpoint): factory = CarbonClientFactory() ReconnectingClientService.__init__(self, endpoint, factory) self._metrics_queue = [] self.protocol_instance = None self.connect_d = Deferred()