Пример #1
0
    def test_zipkin_codec_inject(self):
        codec = ZipkinCodec()

        with self.assertRaises(InvalidCarrierException):
            codec.inject(span_context=None, carrier=[])

        ctx = SpanContext(trace_id=256, span_id=127, parent_id=None, flags=1)
        span = Span(context=ctx, operation_name='x', tracer=None, start_time=1)
        carrier = {}
        codec.inject(span_context=span, carrier=carrier)
        assert carrier == {'span_id': 127, 'parent_id': None,
                           'trace_id': 256, 'traceflags': 1}
Пример #2
0
    def test_zipkin_codec_inject(self):
        codec = ZipkinCodec()

        with self.assertRaises(InvalidCarrierException):
            codec.inject(span_context=None, carrier=[])

        ctx = SpanContext(trace_id=256, span_id=127, parent_id=None, flags=1)
        span = Span(context=ctx, operation_name='x', tracer=None, start_time=1)
        carrier = {}
        codec.inject(span_context=span, carrier=carrier)
        assert carrier == {'span_id': 127, 'parent_id': None,
                           'trace_id': 256, 'traceflags': 1}
Пример #3
0
    def test_zipkin_codec_extract(self):
        codec = ZipkinCodec()

        t = namedtuple('Tracing', 'span_id parent_id trace_id traceflags')
        carrier = t(span_id=1, parent_id=2, trace_id=3, traceflags=1)
        context = codec.extract(carrier)
        assert 3 == context.trace_id
        assert 2 == context.parent_id
        assert 1 == context.span_id
        assert 1 == context.flags
        assert context.baggage == {}

        t = namedtuple('Tracing', 'something')
        carrier = t(something=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        t = namedtuple('Tracing', 'trace_id')
        carrier = t(trace_id=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        t = namedtuple('Tracing', 'trace_id span_id')
        carrier = t(trace_id=1, span_id=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        t = namedtuple('Tracing', 'trace_id span_id parent_id')
        carrier = t(trace_id=1, span_id=1, parent_id=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        carrier = {
            'span_id': 1,
            'parent_id': 2,
            'trace_id': 3,
            'traceflags': 1
        }
        context = codec.extract(carrier)
        assert 3 == context.trace_id
        assert 2 == context.parent_id
        assert 1 == context.span_id
        assert 1 == context.flags
        assert context.baggage == {}

        carrier['trace_id'] = 0
        assert codec.extract(carrier) is None
Пример #4
0
    def test_zipkin_codec_extract(self):
        codec = ZipkinCodec()

        t = namedtuple('Tracing', 'span_id parent_id trace_id traceflags')
        carrier = t(span_id=1, parent_id=2, trace_id=3, traceflags=1)
        context = codec.extract(carrier)
        assert 3 == context.trace_id
        assert 2 == context.parent_id
        assert 1 == context.span_id
        assert 1 == context.flags
        assert context.baggage == {}

        t = namedtuple('Tracing', 'something')
        carrier = t(something=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        t = namedtuple('Tracing', 'trace_id')
        carrier = t(trace_id=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        t = namedtuple('Tracing', 'trace_id span_id')
        carrier = t(trace_id=1, span_id=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        t = namedtuple('Tracing', 'trace_id span_id parent_id')
        carrier = t(trace_id=1, span_id=1, parent_id=1)
        with self.assertRaises(InvalidCarrierException):
            codec.extract(carrier)

        carrier = {'span_id': 1, 'parent_id': 2, 'trace_id': 3,
                   'traceflags': 1}
        context = codec.extract(carrier)
        assert 3 == context.trace_id
        assert 2 == context.parent_id
        assert 1 == context.span_id
        assert 1 == context.flags
        assert context.baggage == {}

        carrier['trace_id'] = 0
        assert codec.extract(carrier) is None