def test14_handleConnectionWithExceptionRaisedNotSet(self): self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') pt = MockPingTimer() pt.isActive = True server._ping_timer = pt class MockRaise: def __init__(raiseSelf, str): raiseSelf.value = str del server.exception class MockAvatar: def __init__(avatarSelf, expected = None): avatarSelf.handlePacketCount = 0 avatarSelf.expectedPacket = expected def handlePacket(avatarSelf, packet): global triggerCount global sendPacketsCount avatarSelf.handlePacketCount += 1 self.assertEquals(packet, avatarSelf.expectedPacket) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [ 10 ]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(server._blocked, True) self.assertEquals(triggerCount, 0) raise MockRaise("handlePacketsRaise") return "handlePacketsReturn" avatar = MockAvatar("test14 dummy packets") global triggerCount triggerCount = 0 def doMyTrigger(): global triggerCount triggerCount += 1 def doSendPackets(packets): self.failIf(True) # This should never be called server.avatar = avatar server._blocked = False server.triggerTimer = doMyTrigger server.sendPackets = doSendPackets log_history.reset() self.assertEquals(server.exception, None) exceptionFound = False try: server._handleConnection("test14 dummy packets") self.failIf(True) # This line should not be reached. except MockRaise, mr: exceptionFound = True self.failUnless(isinstance(mr, MockRaise)) self.assertEquals(mr.value, 'handlePacketsRaise')
def test13_handleConnectionWithExceptionRaised(self): self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') pt = MockPingTimer() pt.isActive = True server._ping_timer = pt class MockRaise: def __init__(raiseSelf, str): raiseSelf.value = str class MockAvatar: def __init__(avatarSelf, expected=None): avatarSelf.handlePacketCount = 0 avatarSelf.expectedPacket = expected def handlePacket(avatarSelf, packet): global triggerCount global sendPacketsCount avatarSelf.handlePacketCount += 1 self.assertEquals(packet, avatarSelf.expectedPacket) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [10]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(server._blocked, True) self.assertEquals(triggerCount, 0) raise MockRaise("handlePacketsRaise") return "handlePacketsReturn" avatar = MockAvatar("test13 dummy packets") global triggerCount triggerCount = 0 def doMyTrigger(): global triggerCount triggerCount += 1 def doSendPackets(packets): self.failIf(True) # This should never be called server.avatar = avatar server._blocked = False server.triggerTimer = doMyTrigger server.sendPackets = doSendPackets clear_all_messages() self.assertEquals(server.exception, None) server._handleConnection("test13 dummy packets") self.assertEquals(get_messages(), ['ping: renew Mr.Fakey/-1']) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [10]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(avatar.handlePacketCount, 1) self.assertEquals(server._blocked, False) self.assertEquals(triggerCount, 1) self.assertEquals(len(server.exception), 3) self.assertEquals(server.exception[0], MockRaise) self.failUnless(isinstance(server.exception[1], MockRaise)) self.assertEquals(server.exception[1].value, 'handlePacketsRaise') self.assertEquals(server.transport.loseConnectionCount, 1)
def test12_handleConnectionNoException(self): """test12_handleConnectionNoException This and the following test is a mock-up test of server's _handleConnection() method. I had searched for a way to test this particular method in a more interactive way using a real client/server connection in one of the classes above. However, I was not able to find a way to force this method to be called using the MockUps already developed in the above test classes, and decided it was more expedient to test this method using these dummy server mechanism here.""" self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') pt = MockPingTimer() pt.isActive = True server._ping_timer = pt class MockAvatar: def __init__(avatarSelf, expected=None): avatarSelf.handlePacketCount = 0 avatarSelf.expectedPacket = expected def handlePacket(avatarSelf, packet): global triggerCount global sendPacketsCount avatarSelf.handlePacketCount += 1 self.assertEquals(packet, avatarSelf.expectedPacket) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [10]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(server._blocked, True) self.assertEquals(sendPacketsCount, 0) return "handlePacketsReturn" avatar = MockAvatar("test12 dummy packets") global sendPacketsCount triggerCount = 0 sendPacketsCount = 0 def doMyTrigger(): self.failIf(True) # should never be called! def doSendPackets(packets): global sendPacketsCount sendPacketsCount += 1 self.assertEquals(packets, "handlePacketsReturn") server.avatar = avatar server._blocked = False server.triggerTimer = doMyTrigger server.sendPackets = doSendPackets clear_all_messages() self.assertEquals(server.exception, None) server._handleConnection("test12 dummy packets") self.assertEquals(get_messages(), ['ping: renew Mr.Fakey/-1']) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [10]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(avatar.handlePacketCount, 1) self.assertEquals(server._blocked, True) self.assertEquals(sendPacketsCount, 1) self.assertEquals(triggerCount, 0) # should be 0 since unblock() isn't called self.assertEquals(server.exception, None) self.assertEquals(server.transport.loseConnectionCount, 0)
def test13_handleConnectionWithExceptionRaised(self): self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') pt = MockPingTimer() pt.isActive = True server._ping_timer = pt class MockRaise: def __init__(raiseSelf, str): raiseSelf.value = str class MockAvatar: def __init__(avatarSelf, expected = None): avatarSelf.handlePacketCount = 0 avatarSelf.expectedPacket = expected def handlePacket(avatarSelf, packet): global triggerCount global sendPacketsCount avatarSelf.handlePacketCount += 1 self.assertEquals(packet, avatarSelf.expectedPacket) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [ 10 ]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(server._blocked, True) self.assertEquals(triggerCount, 0) raise MockRaise("handlePacketsRaise") return "handlePacketsReturn" avatar = MockAvatar("test13 dummy packets") global triggerCount triggerCount = 0 def doMyTrigger(): global triggerCount triggerCount += 1 def doSendPackets(packets): self.failIf(True) # This should never be called server.avatar = avatar server._blocked = False server.triggerTimer = doMyTrigger server.sendPackets = doSendPackets log_history.reset() self.assertEquals(server.exception, None) server._handleConnection("test13 dummy packets") self.assertEquals(log_history.get_all(), ['ping: renew Mr.Fakey/-1']) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [ 10 ]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(avatar.handlePacketCount, 1) self.assertEquals(server._blocked, False) self.assertEquals(triggerCount, 1) self.assertEquals(len(server.exception), 3) self.assertEquals(server.exception[0], MockRaise) self.failUnless(isinstance(server.exception[1], MockRaise)) self.assertEquals(server.exception[1].value, 'handlePacketsRaise') self.assertEquals(server.transport.loseConnectionCount, 1)
def test12_handleConnectionNoException(self): """test12_handleConnectionNoException This and the following test is a mock-up test of server's _handleConnection() method. I had searched for a way to test this particular method in a more interactive way using a real client/server connection in one of the classes above. However, I was not able to find a way to force this method to be called using the MockUps already developed in the above test classes, and decided it was more expedient to test this method using these dummy server mechanism here.""" self.server_factory = FakeFactory(self) server = self.server_factory.buildProtocol('addr') pt = MockPingTimer() pt.isActive = True server._ping_timer = pt class MockAvatar: def __init__(avatarSelf, expected = None): avatarSelf.handlePacketCount = 0 avatarSelf.expectedPacket = expected def handlePacket(avatarSelf, packet): global triggerCount global sendPacketsCount avatarSelf.handlePacketCount += 1 self.assertEquals(packet, avatarSelf.expectedPacket) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [ 10 ]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(server._blocked, True) self.assertEquals(sendPacketsCount, 0) return "handlePacketsReturn" avatar = MockAvatar("test12 dummy packets") global sendPacketsCount triggerCount = 0 sendPacketsCount = 0 def doMyTrigger(): self.failIf(True) # should never be called! def doSendPackets(packets): global sendPacketsCount sendPacketsCount += 1 self.assertEquals(packets, "handlePacketsReturn") server.avatar = avatar server._blocked = False server.triggerTimer = doMyTrigger server.sendPackets = doSendPackets log_history.reset() self.assertEquals(server.exception, None) server._handleConnection("test12 dummy packets") self.assertEquals(log_history.get_all(), ['ping: renew Mr.Fakey/-1']) self.assertEquals(pt, server._ping_timer) self.assertEquals(pt.resetValues, [ 10 ]) self.assertEquals(pt.cancelCount, 0) self.assertEquals(avatar.handlePacketCount, 1) self.assertEquals(server._blocked, True) self.assertEquals(sendPacketsCount, 1) self.assertEquals(triggerCount, 0) # should be 0 since unblock() isn't called self.assertEquals(server.exception, None) self.assertEquals(server.transport.loseConnectionCount, 0)