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