From e5f47df7fb7d9f67107f8ec071b1493c3c25def6 Mon Sep 17 00:00:00 2001 From: Konstantin Stepanov Date: Thu, 25 Jan 2018 23:14:45 +0300 Subject: [PATCH] add span.new_child test cases --- tests/test_tracer.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/test_tracer.py b/tests/test_tracer.py index 8d007d42..ea22c944 100644 --- a/tests/test_tracer.py +++ b/tests/test_tracer.py @@ -64,6 +64,9 @@ def test_noop_span_methods(tracer): span.annotate('end:sql', ts=1506970524) span.remote_endpoint('service_a', ipv4='127.0.0.1', port=8080) + with span.new_child() as child_span: + pass + assert isinstance(span, NoopSpan) assert span.context.parent_id is not None assert not span.context.sampled @@ -73,6 +76,8 @@ def test_noop_span_methods(tracer): assert isinstance(span, NoopSpan) assert span.tracer is tracer + assert isinstance(child_span, NoopSpan) + def test_trace_join_span(tracer, context): @@ -100,6 +105,31 @@ def test_trace_new_child(tracer, context): assert span.context.span_id is not None +def test_span_new_child(tracer, context, fake_transport): + + with tracer.new_child(context) as span: + span.name('name') + with span.new_child('child', 'CLIENT') as child_span1: + pass + with span.new_child() as child_span2: + pass + + assert span.context.trace_id == child_span1.context.trace_id + assert span.context.span_id == child_span1.context.parent_id + assert span.context.trace_id == child_span2.context.trace_id + assert span.context.span_id == child_span2.context.parent_id + + record = fake_transport.records[0] + data = record.asdict() + assert data['name'] == 'child' + assert data['kind'] == 'CLIENT' + + record = fake_transport.records[1] + data = record.asdict() + assert data['name'] == 'unknown' + assert 'kind' not in data + + def test_error(tracer, fake_transport): def func(): with tracer.new_trace() as span: