def test_call_req_parse(call_request_bytes): msg = messages.call_req_rw.read(BytesIO(call_request_bytes)) assert msg.flags == 0 assert msg.ttl == 1024 assert msg.tracing == messages.Tracing(span_id=283686952306183, parent_id=579005069656919567, trace_id=1157726452361532951, traceflags=1) assert msg.service == 'apache' assert msg.headers == {'key': 'val'} assert msg.checksum == (messages.ChecksumType.none, None) assert msg.args == [b'on', b'to', b'te']
def test_call_res_parse(): buff = bytearray([ 0x00, # flags:1 0x00, # code:1 # tracing:24 0x00, 0x01, 0x02, 0x03, # span_id:8 0x04, 0x05, 0x06, 0x07, # 0x08, 0x09, 0x0a, 0x0b, # parent_id:8 0x0c, 0x0d, 0x0e, 0x0f, # 0x10, 0x11, 0x12, 0x13, # trace_id:8 0x14, 0x15, 0x16, 0x17, # 0x01, # traceflags:1 0x01, # nh:1 0x03, 0x6b, 0x65, 0x79, # (hk~1 hv~1){nh} 0x03, 0x76, 0x61, 0x6c, # ... 0x00, # csumtype:1 (csum:4){0,1} 0x00, 0x02, 0x6f, 0x6e, # arg1~2 0x00, 0x02, 0x74, 0x6f, # arg2~2 0x00, 0x02, 0x74, 0x65 # arg3~2 ]) msg = messages.call_res_rw.read(BytesIO(buff)) assert msg.flags == 0 assert msg.code == 0 assert msg.tracing == messages.Tracing( span_id=283686952306183, parent_id=579005069656919567, trace_id=1157726452361532951, traceflags=1 ) assert msg.headers == {'key': 'val'} assert msg.checksum == (messages.ChecksumType.none, None) assert msg.args == [b'on', b'to', b'te']
'one': '2' } }), (messages.InitResponseMessage, messages.init_res_rw, { 'headers': {} }), (messages.PingRequestMessage, messages.ping_req_rw, {}), (messages.PingResponseMessage, messages.ping_res_rw, {}), (messages.ErrorMessage, messages.error_rw, { 'code': 1, 'description': 'hi', }), (messages.CallRequestMessage, messages.call_req_rw, { 'flags': 0, 'ttl': 1, 'tracing': messages.Tracing(0, 0, 0, 0), 'service': 'kodenom', 'headers': {}, 'checksum': (messages.ChecksumType.none, None), 'args': None, }), (messages.CallRequestMessage, messages.call_req_rw, { 'flags': 0x01, 'ttl': 1, 'tracing': messages.Tracing(0, 0, 0, 1), 'service': 'with_checksum', 'headers': {}, 'checksum': (messages.ChecksumType.crc32, 3), 'args': [b'hi', b'\x00', ""], }), (messages.CallResponseMessage, messages.call_res_rw, {