Example #1
0
def test_detect_span_version_and_encoding(encoding):
    spans, _, _, _ = generate_list_of_spans(encoding)
    old_type = type(spans)

    assert detect_span_version_and_encoding(spans) == encoding

    if encoding in [Encoding.V1_JSON, Encoding.V2_JSON]:
        assert type(spans) == old_type
        spans = spans.encode()
        assert detect_span_version_and_encoding(spans) == encoding
Example #2
0
def test_convert_spans_v2_json_to_v2_json():
    spans, _, _, _ = generate_list_of_spans(Encoding.V2_JSON)

    converted_spans = convert_spans(spans=spans,
                                    output_encoding=Encoding.V2_JSON)

    assert detect_span_version_and_encoding(
        converted_spans) == Encoding.V2_JSON
Example #3
0
def test_detect_span_version_and_encoding_unknown_encoding():
    with pytest.raises(ZipkinError):
        detect_span_version_and_encoding("foobar")
Example #4
0
def test_detect_span_version_and_encoding_ambiguous_json():
    """JSON spans that don't have any v1 or v2 keyword default to V2"""
    assert (detect_span_version_and_encoding(
        '[{"traceId": "aaa", "id": "bbb"}]') == Encoding.V2_JSON)
Example #5
0
def test_detect_span_version_and_encoding_incomplete_message():
    with pytest.raises(ZipkinError):
        detect_span_version_and_encoding("[")