def test09_connectionLostNoPingTimerWithAvatarButNoQueues(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 clear_all_messages() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._protocol_ok = True server._processQueues = self.processQueuesCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter del server._ping_timer server._queues = [] server.avatar = FakeAvatar() self.assertEquals(server.connectionLost("test09"), None) self.failIf(server.__dict__.has_key('avatar')) self.assertEquals(server._ping_timer, None) self.assertEquals(processQueuesCount, 0) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(len(self.server_factory.destroyedAvatars), 1) self.failUnless( isinstance(self.server_factory.destroyedAvatars[0], FakeAvatar)) self.assertEquals(get_messages(), ['connectionLost: reason = test09'])
def test08_connectionLostNonePingTimerNoAvatar(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 clear_all_messages() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._processQueues = self.processQueuesCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter server._ping_timer = None server._queues = [] server.avatar = None self.assertEquals(server.connectionLost("test08"), None) self.failIf(server.__dict__.has_key('avatar')) self.assertEquals(server._ping_timer, None) self.assertEquals(processQueuesCount, 0) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(self.server_factory.destroyedAvatars, []) self.assertEquals(get_messages(), [ 'connectionLost: reason = test08', 'connectionLost: reason = test08', 'client with protocol different rejected (need 002.000)' ])
def test09_connectionLostNoPingTimerWithAvatarButNoQueues(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 log_history.reset() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._protocol_ok = True server._processQueues = self.processQueuesCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter del server._ping_timer server._queues = [] server.avatar = FakeAvatar() self.assertEquals(server.connectionLost("test09"), None) self.failIf('avatar' in server.__dict__) self.assertEquals(server._ping_timer, None) self.assertEquals(processQueuesCount, 0) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(len(self.server_factory.destroyedAvatars), 1) self.failUnless(isinstance(self.server_factory.destroyedAvatars[0], FakeAvatar)) self.assertEquals(log_history.get_all(), [])
def test08_connectionLostNonePingTimerNoAvatar(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 log_history.reset() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._processQueues = self.processQueuesCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter server._ping_timer = None server._queues = [] server.avatar = None self.assertEquals(server.connectionLost("test08"), None) self.failIf('avatar' in server.__dict__) self.assertEquals(server._ping_timer, None) self.assertEquals(processQueuesCount, 0) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(self.server_factory.destroyedAvatars, []) self.assertEquals(log_history.get_all(), [])
def test10_connectionLostWithInactivePingTimerWithAvatarAndQueues(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 clear_all_messages() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._protocol_ok = True def actualButDummyProcessQueueCounter(): global processQueuesCount processQueuesCount += 1 if processQueuesCount > 1: server._queues = [] server._processQueues = actualButDummyProcessQueueCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter pt = MockPingTimer() server._ping_timer = pt server._queues = ['a', 'b', 'c'] server.avatar = FakeAvatar() self.assertEquals(server.connectionLost("test10"), None) self.failIf(server.__dict__.has_key('avatar')) self.assertEquals(server._ping_timer, None) self.assertEquals(processQueuesCount, 2) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(pt.cancelCount, 0) self.assertEquals(pt.resetValues, []) self.assertEquals(len(self.server_factory.destroyedAvatars), 1) self.failUnless( isinstance(self.server_factory.destroyedAvatars[0], FakeAvatar)) self.assertEquals(get_messages(), ['connectionLost: reason = test10'])
def test11_connectionLostActivePingTimerNoAvatarOneQueues(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 clear_all_messages() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._protocol_ok = True def actualButDummyProcessQueueCounter(): global processQueuesCount processQueuesCount += 1 server._queues = [] server._processQueues = actualButDummyProcessQueueCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter pt = MockPingTimer() pt.isActive = True server._ping_timer = pt server._queues = ['b', 'c'] server.avatar = None self.assertEquals(server.connectionLost("test11"), None) self.failIf(server.__dict__.has_key('avatar')) self.assertEquals(server._ping_timer, None) # Queues don't get processed when lost connection without avatar self.assertEquals(processQueuesCount, 0) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(pt.cancelCount, 1) self.assertEquals(pt.resetValues, []) self.assertEquals(self.server_factory.destroyedAvatars, []) self.assertEquals(get_messages(), ['connectionLost: reason = test11'])
def test11_connectionLostActivePingTimerNoAvatarOneQueues(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 log_history.reset() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._protocol_ok = True def actualButDummyProcessQueueCounter(): global processQueuesCount processQueuesCount += 1 server._queues = [] server._processQueues = actualButDummyProcessQueueCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter pt = MockPingTimer() pt.isActive = True server._ping_timer = pt server._queues = ['b', 'c'] server.avatar = None self.assertEquals(server.connectionLost("test11"), None) self.failIf('avatar' in server.__dict__) self.assertEquals(server._ping_timer, None) # Queues don't get processed when lost connection without avatar self.assertEquals(processQueuesCount, 0) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(pt.cancelCount, 1) self.assertEquals(pt.resetValues, []) self.assertEquals(self.server_factory.destroyedAvatars, []) self.assertEquals(log_history.get_all(), [])
def test10_connectionLostWithInactivePingTimerWithAvatarAndQueues(self): global processQueuesCount processQueuesCount = 0 global ignoreIncomingDataCount ignoreIncomingDataCount = 0 log_history.reset() self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') server._protocol_ok = True def actualButDummyProcessQueueCounter(): global processQueuesCount processQueuesCount += 1 if processQueuesCount > 1: server._queues = [] server._processQueues = actualButDummyProcessQueueCounter server.ignoreIncomingData = self.ignoreIncomingDataCounter pt = MockPingTimer() server._ping_timer = pt server._queues = ['a', 'b', 'c'] server.avatar = FakeAvatar() self.assertEquals(server.connectionLost("test10"), None) self.failIf('avatar' in server.__dict__) self.assertEquals(server._ping_timer, None) self.assertEquals(processQueuesCount, 2) self.assertEquals(ignoreIncomingDataCount, 1) self.assertEquals(pt.cancelCount, 0) self.assertEquals(pt.resetValues, []) self.assertEquals(len(self.server_factory.destroyedAvatars), 1) self.failUnless(isinstance(self.server_factory.destroyedAvatars[0], FakeAvatar)) self.assertEquals(log_history.get_all(), [])