Example #1
0
def test_get_thread_local_tracer_no_tracer(mock_tracer, mock_tl):
    del mock_tl.tracer

    tracer = storage._get_thread_local_tracer()

    assert mock_tracer.call_count == 1
    assert tracer == mock_tracer.return_value
Example #2
0
def test_has_default_tracer(mock_contextvar, mock_tracer, mock_tl):
    # shut up the py2 "yes" answer while testing the py3.7+ cases
    del mock_tl.tracer

    # We're in python 3.7+
    mock_contextvar.get.side_effect = LookupError
    assert not storage.has_default_tracer()
    mock_contextvar.get.side_effect = None
    mock_contextvar.get.return_value = "does not matter"

    assert storage.get_default_tracer() == storage._contextvars_tracer.get()
    assert storage.has_default_tracer()

    storage._contextvars_tracer = None

    # We're in python 2.7 to 3.6
    assert not storage.has_default_tracer()

    tracer = storage._get_thread_local_tracer()

    assert storage.has_default_tracer()
    assert mock_tracer.call_count == 1
    assert tracer == mock_tracer.return_value
def test_get_thread_local_tracer_existing_tracer(mock_tracer, mock_tl):
    tracer = storage._get_thread_local_tracer()

    assert mock_tracer.call_count == 0
    assert tracer == mock_tl.tracer
def test_set_thread_local_tracer(mock_tl):
    tracer = MockTracer()
    storage._set_thread_local_tracer(tracer)

    assert storage._get_thread_local_tracer() == tracer