def test_encode_traces_json_v2(self): # test encoding for JSON format traces = [] traces.append( [ Span(name="client.testing", tracer=None, span_id=0xAAAAAA), Span(name="client.testing", tracer=None, span_id=0xAAAAAA), ] ) traces.append( [ Span(name="client.testing", tracer=None, span_id=0xAAAAAA), Span(name="client.testing", tracer=None, span_id=0xAAAAAA), ] ) encoder = JSONEncoderV2() spans = encoder.encode_traces(traces) items = json.loads(spans)["traces"] # test the encoded output that should be a string # and the output must be flatten assert isinstance(spans, string_type) assert len(items) == 2 assert len(items[0]) == 2 assert len(items[1]) == 2 for i in range(2): for j in range(2): assert "client.testing" == items[i][j]["name"] assert isinstance(items[i][j]["span_id"], string_type) assert items[i][j]["span_id"] == "0000000000AAAAAA"
def test_join_encoded_json_v2(self): # test encoding for JSON format traces = [] traces.append([ Span(name="client.testing", tracer=None, span_id=0xAAAAAA), Span(name="client.testing", tracer=None, span_id=0xAAAAAA), ]) traces.append([ Span(name="client.testing", tracer=None, span_id=0xAAAAAA), Span(name="client.testing", tracer=None, span_id=0xAAAAAA), ]) encoder = JSONEncoderV2() # Encode each trace on it's own encoded_traces = [encoder.encode_trace(trace) for trace in traces] # Join the encoded traces together data = encoder.join_encoded(encoded_traces) # Parse the resulting data items = json.loads(data)["traces"] # test the encoded output that should be a string # and the output must be flatten assert isinstance(data, string_type) assert len(items) == 2 assert len(items[0]) == 2 assert len(items[1]) == 2 for i in range(2): for j in range(2): span = items[i][j] assert "client.testing" == span["name"] assert isinstance(span["span_id"], string_type) assert span["span_id"] == "0000000000AAAAAA"