예제 #1
0
    def test_create_bad_input(self):
        factory = PacketFactory()

        with self.assertRaises(InvalidOpcodeError):
            factory.create('blahblahblah'.encode())

        with self.assertRaises(OpcodeExtractError):
            factory.create('b'.encode())
예제 #2
0
    def test_create_good_input(self):
        factory = PacketFactory()

        p = WRQPacket('file'.encode(), 'netascii'.encode())
        self.assertTrue(isinstance(factory.create(p.to_wire()), WRQPacket))
        p = DataPacket(4, 'data'.encode())
        self.assertTrue(isinstance(factory.create(p.to_wire()), DataPacket))
        p = ACKPacket(12)
        self.assertTrue(isinstance(factory.create(p.to_wire()), ACKPacket))
        p = ErrorPacket(1)
        self.assertTrue(isinstance(factory.create(p.to_wire()), ErrorPacket))