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 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 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_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 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()