def test_build_packet_without_params(self):
     code = protocol.CMD
     content = 'no params'
     packet = protocol.build_packet(code, content)
     expected = protocol.DELIMITER.join([code, content, protocol.NULL
                                         ]) + protocol.EOF
     self.assertEqual(packet, expected.encode())
示例#2
0
 def test_file_download_packet_class(self):
     filename = 'foo.bar'
     packet = FileDownloadPacket(filename)
     self.assertIsNone(packet.content)
     self.assertEqual(packet.params, {'filename': filename})
     self.assertEqual(build_packet(DOWNLOAD, params={'filename': filename}),
                      bytes(packet))
示例#3
0
 def test_packet_class(self):
     content = 'bar'
     params = {'foo': 'baz'}
     packet = Packet(content=content, params=params)
     self.assertEqual(packet.content, content)
     self.assertEqual(packet.params, params)
     self.assertEqual(build_packet(CMD, content, params),
                      packet.__bytes__())
 def test_build_packet_without_content(self):
     code = protocol.CMD
     params = {'foo': 'bar'}
     qs_params = 'foo=bar'
     packet = protocol.build_packet(code, None, params)
     expected = protocol.DELIMITER.join([code, protocol.NULL, qs_params
                                         ]) + protocol.EOF
     self.assertEqual(packet, expected.encode())
示例#5
0
 def test_file_upload_packet_class(self):
     filename = os.path.abspath('tests/resources/foo.txt')
     with open(filename, 'rb') as buffer:
         content = buffer.read()
     packet = FileUploadPacket(filename)
     self.assertEqual(packet.content, content)
     self.assertEqual(packet.params, {'name': 'foo.txt'})
     self.assertEqual(build_packet(UPLOAD, content, {'name': 'foo.txt'}),
                      bytes(packet))
 def test_build_packet_with_all_params(self):
     code = protocol.CMD
     content = 'test'
     params = {'foo': 'bar'}
     qs_params = 'foo=bar'
     packet = protocol.build_packet(code, content, params)
     expected = protocol.DELIMITER.join([code, content, qs_params
                                         ]) + protocol.EOF
     self.assertEqual(packet, expected.encode())
示例#7
0
 def test_file_upload_packet_with_non_unicode_char_class(self):
     filename = os.path.abspath('tests/resources/foo.txt')
     with open(filename, 'rb') as buffer:
         original = buffer.read()
     content = original + b'\x81'
     with open(filename, 'wb') as buffer:
         buffer.write(content)
     packet = FileUploadPacket(filename)
     self.assertEqual(build_packet(UPLOAD, content, {'name': 'foo.txt'}),
                      packet.__bytes__())
     with open(filename, 'wb') as buffer:
         buffer.write(original)
示例#8
0
 def test_packet_with_another_code_class(self):
     packet = Packet(code=UPLOAD)
     self.assertEqual(build_packet(UPLOAD, None), packet.__bytes__())
示例#9
0
 def test_null_packet_class(self):
     params = {'foo': 'baz'}
     packet = Packet(params=params)
     self.assertIsNone(packet.content)
     self.assertEqual(build_packet(CMD, None, params), packet.__bytes__())
示例#10
0
 def test_build_packet_with_invalid_code(self):
     with self.assertRaises(protocol.InvalidPacketCode):
         protocol.build_packet(protocol.ACK)
示例#11
0
 def test_build_packet_with_code(self):
     code = protocol.CMD
     packet = protocol.build_packet(code)
     excpeted = protocol.DELIMITER.join(
         [code, protocol.NULL, protocol.NULL]) + protocol.EOF
     self.assertEqual(packet, excpeted.encode())
示例#12
0
 def get_raw(self):
     """Get raw content to be sent over socket."""
     return protocol.build_packet(self._code, content=self._content, params=self._params)