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}
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
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