Beispiel #1
0
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']
Beispiel #2
0
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']
Beispiel #3
0
         '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, {