def test_instrument_with_false_uninstruments_specified_libraries( self, module_name): instrument(**{module_name: True}) mod = utils.get_module(module_name) assert getattr(mod, instrumented_attr) is True instrument(**{module_name: False}) assert not hasattr(mod, instrumented_attr)
def test_env_var_disables_instrument(self, env_var, are_uninstrumented): os.environ['SIGNALFX_TRACING_ENABLED'] = env_var modules = [utils.get_module(l) for l in expected_traceable_libraries] assert self.all_are_uninstrumented(modules) for m in expected_traceable_libraries: instrument(**{m: True}) assert self.all_are_uninstrumented(modules) is are_uninstrumented
def test_instrument_with_true_and_env_var_false_doesnt_instrument_specified_libraries( self, module_name): env_var = 'SIGNALFX_{0}_ENABLED'.format(module_name.upper()) os.environ[env_var] = 'False' try: instrument(**{module_name: True}) mod = utils.get_module(module_name) assert not hasattr(mod, instrumented_attr) finally: os.environ.pop(env_var)
def test_uninstrument_django_removes_configured_settings(self): instrument(django=True) uninstrument('django') assert not hasattr(settings, 'OPENTRACING_TRACED_ATTRIBUTES') assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE') assert not hasattr(settings, 'OPENTRACING_TRACER_PARAMETERS') assert not hasattr(settings, 'OPENTRACING_TRACE_ALL') assert not hasattr(settings, 'OPENTRACING_SET_GLOBAL_TRACER') assert not hasattr(settings, 'OPENTRACING_TRACING') _, setting = get_middleware_and_setting_name() assert config.middleware_class not in getattr(settings, setting)
def test_instrument_django_set_global_tracer_with_provided_callable(self): config.set_global_tracer = True config.tracer_callable = 'opentracing.mocktracer.MockTracer' instrument(django=True) assert settings.OPENTRACING_SET_GLOBAL_TRACER is True assert settings.OPENTRACING_TRACER_CALLABLE == 'opentracing.mocktracer.MockTracer' assert settings.OPENTRACING_TRACER_PARAMETERS == {} assert not hasattr(settings, 'OPENTRACING_TRACING') assert settings.OPENTRACING_TRACE_ALL == config.trace_all assert settings.OPENTRACING_TRACED_ATTRIBUTES == config.traced_attributes _, setting = get_middleware_and_setting_name() assert config.middleware_class in getattr(settings, setting)
def test_env_var_disables_instrument(self, env_var, are_uninstrumented): os.environ[tracing_enabled_env_var] = env_var try: modules = [ utils.get_module(l) for l in expected_traceable_libraries ] assert self.all_are_uninstrumented(modules) for m in expected_traceable_libraries: instrument(**{m: True}) assert self.all_are_uninstrumented(modules) is are_uninstrumented finally: os.environ.pop(tracing_enabled_env_var)
def test_instrument_django_unset_global_tracer_configures_desired_settings(self): tracer = MockTracer() config.set_global_tracer = False instrument(tracer, django=True) assert settings.OPENTRACING_SET_GLOBAL_TRACER is False assert isinstance(settings.OPENTRACING_TRACING._tracer, opentracing.Tracer) assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE') assert not hasattr(settings, 'OPENTRACING_TRACER_PARAMETERS') assert settings.OPENTRACING_TRACE_ALL == config.trace_all assert settings.OPENTRACING_TRACED_ATTRIBUTES == config.traced_attributes _, setting = get_middleware_and_setting_name() assert config.middleware_class in getattr(settings, setting)
def test_instrument_django_set_global_tracer_with_provided_tracer_arg(self): tracer = MockTracer() config.set_global_tracer = True instrument(tracer, django=True) assert settings.OPENTRACING_SET_GLOBAL_TRACER is True assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE') assert not hasattr(settings, 'OPENTRACING_TRACER_PARAMETERS') assert settings.OPENTRACING_TRACING.tracer is tracer assert settings.OPENTRACING_TRACE_ALL == config.trace_all assert settings.OPENTRACING_TRACED_ATTRIBUTES == config.traced_attributes _, setting = get_middleware_and_setting_name() assert config.middleware_class in getattr(settings, setting)
def test_django_config_determines_instrumented_setting_values_without_global_tracer(self): config.set_global_tracer = False desired_attributes = ['some', 'attributes'] config.traced_attributes = desired_attributes desired_trace_all = 123 config.trace_all = desired_trace_all desired_middleware_class = 'some.middleware' config.middleware_class = desired_middleware_class tracer = 'SomeTracer' instrument(tracer, django=True) assert settings.OPENTRACING_TRACING._tracer is tracer assert settings.OPENTRACING_TRACED_ATTRIBUTES == desired_attributes assert settings.OPENTRACING_TRACE_ALL == desired_trace_all _, setting = get_middleware_and_setting_name() assert desired_middleware_class in getattr(settings, setting) uninstrument('django') assert not hasattr(settings, 'OPENTRACING_TRACED_ATTRIBUTES') assert not hasattr(settings, 'OPENTRACING_TRACER_CALLABLE') assert not hasattr(settings, 'OPENTRACING_TRACE_ALL') assert desired_middleware_class not in getattr(settings, setting)
def test_instrument_with_true_instruments_specified_libraries(self): tornado = utils.get_module('tornado') assert not hasattr(tornado, instrumented_attr) instrument(tornado=True) assert getattr(tornado, instrumented_attr) is True