コード例 #1
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_encode_message_delimited(self):
     request = krpc.schema.KRPC.Request()
     request.service = 'ServiceName'
     request.procedure = 'ProcedureName'
     data = Encoder.encode_delimited(request, self.types.as_type('KRPC.Request'))
     expected = '1c'+'0a0b536572766963654e616d65120d50726f6365647572654e616d65'
     self.assertEqual(expected, hexlify(data))
コード例 #2
0
ファイル: test_encoder.py プロジェクト: key50/My_kRPC
 def test_encode_message(self):
     call = self.types.procedure_call_type.python_type()
     call.service = 'ServiceName'
     call.procedure = 'ProcedureName'
     data = Encoder.encode(call, self.types.procedure_call_type)
     expected = '0a0b536572766963654e616d65120d50726f6365647572654e616d65'
     self.assertEqual(expected, hexlify(data))
コード例 #3
0
ファイル: test_encoder.py プロジェクト: Loran425/krpc
 def test_encode_message(self):
     call = self.types.procedure_call_type.python_type()
     call.service = 'ServiceName'
     call.procedure = 'ProcedureName'
     data = Encoder.encode(call, self.types.procedure_call_type)
     expected = '0a0b536572766963654e616d65120d50726f6365647572654e616d65'
     self.assertEqual(expected, hexlify(data))
コード例 #4
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_encode_class(self):
     typ = self.types.as_type('Class(ServiceName.ClassName)')
     class_type = typ.python_type
     self.assertTrue(issubclass(class_type, ClassBase))
     value = class_type(300)
     self.assertEqual(300, value._object_id)
     data = Encoder.encode(value, typ)
     self.assertEqual('ac02', hexlify(data))
コード例 #5
0
ファイル: test_platform.py プロジェクト: key50/My_kRPC
 def test_hexlify(self):
     self.assertEqual(hexlify(b''), '')
     self.assertEqual(hexlify(b'\x00\x01\x02'), '000102')
     self.assertEqual(hexlify(b'\xFF'), 'ff')
コード例 #6
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_encode_class_none(self):
     typ = self.types.as_type('Class(ServiceName.ClassName)')
     value = None
     data = Encoder.encode(value, typ)
     self.assertEqual('00', hexlify(data))
コード例 #7
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_encode_value_delimited(self):
     data = Encoder.encode_delimited(300, self.types.as_type('int32'))
     self.assertEqual('02'+'ac02', hexlify(data))
コード例 #8
0
ファイル: test_encoder.py プロジェクト: Loran425/krpc
 def test_encode_value(self):
     data = Encoder.encode(300, self.types.uint32_type)
     self.assertEqual('ac02', hexlify(data))
コード例 #9
0
ファイル: test_encodedecode.py プロジェクト: Kerbal007/krpc
 def _run_test_encode_value(self, typ, cases):
     for decoded, encoded in cases:
         data = Encoder.encode(decoded, self.types.as_type(typ))
         self.assertEqual(encoded, hexlify(data))
コード例 #10
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_empty_client_name(self):
     message = Encoder.client_name()
     self.assertEqual (32, len(message))
     self.assertEqual ('00'*32, hexlify(message))
コード例 #11
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_client_name(self):
     message = Encoder.client_name('foo')
     self.assertEqual (32, len(message))
     self.assertEqual ('666f6f'+'00'*29, hexlify(message))
コード例 #12
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_stream_hello_message(self):
     message = Encoder.STREAM_HELLO_MESSAGE
     self.assertEqual (12, len(message))
     self.assertEqual ('48454c4c4f2d53545245414d', hexlify(message))
コード例 #13
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_rpc_hello_message(self):
     message = Encoder.RPC_HELLO_MESSAGE
     self.assertEqual (12, len(message))
     self.assertEqual ('48454c4c4f2d525043000000', hexlify(message))
コード例 #14
0
ファイル: decoder.py プロジェクト: Kerbal007/krpc
 def guid(cls, data):
     """ Decode a 16-byte GUID into a string """
     return '-'.join((hexlify(data[3::-1]), hexlify(data[5:3:-1]), hexlify(data[7:5:-1]),
                      hexlify(data[8:10]), hexlify(data[10:16])))
コード例 #15
0
ファイル: test_encoder.py プロジェクト: key50/My_kRPC
 def test_encode_value(self):
     data = Encoder.encode(300, self.types.uint32_type)
     self.assertEqual('ac02', hexlify(data))
コード例 #16
0
ファイル: decoder.py プロジェクト: pipi1226/krpc
 def guid(cls, data):
     """ Decode a 16-byte GUID into a string """
     return '-'.join(
         (hexlify(data[3::-1]), hexlify(data[5:3:-1]),
          hexlify(data[7:5:-1]), hexlify(data[8:10]), hexlify(data[10:16])))
コード例 #17
0
ファイル: test_platform.py プロジェクト: Loran425/krpc
 def test_hexlify(self):
     self.assertEqual(hexlify(b''), '')
     self.assertEqual(hexlify(b'\x00\x01\x02'), '000102')
     self.assertEqual(hexlify(b'\xFF'), 'ff')
コード例 #18
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_long_client_name(self):
     message = Encoder.client_name('a'*33)
     self.assertEqual (32, len(message))
     self.assertEqual ('61'*32, hexlify(message))
コード例 #19
0
ファイル: test_encodedecode.py プロジェクト: dewiniaid/krpc
 def _run_test_encode_value(self, typ, cases):
     for decoded, encoded in cases:
         data = Encoder.encode(decoded, self.types.as_type(typ))
         self.assertEqual(encoded, hexlify(data))
コード例 #20
0
ファイル: test_encoder.py プロジェクト: pipi1226/krpc
 def test_encode_unicode_string(self):
     data = Encoder.encode(b'\xe2\x84\xa2'.decode('utf-8'), self.types.as_type('string'))
     self.assertEqual('03e284a2', hexlify(data))