diff options
Diffstat (limited to 'osprofiler/tests/unit/drivers/test_jaeger.py')
-rw-r--r-- | osprofiler/tests/unit/drivers/test_jaeger.py | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/osprofiler/tests/unit/drivers/test_jaeger.py b/osprofiler/tests/unit/drivers/test_jaeger.py index e59e69b..128d8aa 100644 --- a/osprofiler/tests/unit/drivers/test_jaeger.py +++ b/osprofiler/tests/unit/drivers/test_jaeger.py @@ -15,14 +15,24 @@ from unittest import mock +from oslo_config import cfg + from osprofiler.drivers import jaeger +from osprofiler import opts from osprofiler.tests import test +from jaeger_client import Config + class JaegerTestCase(test.TestCase): def setUp(self): super(JaegerTestCase, self).setUp() + + opts.set_defaults(cfg.CONF) + cfg.CONF.set_default( + "process_tags", "k1:v1,k2:v2", "profiler_jaeger") + self.payload_start = { "name": "api-start", "base_id": "4e3e0ec6-2938-40b1-8504-09eb1d4b0dee", @@ -48,8 +58,12 @@ class JaegerTestCase(test.TestCase): } } + # Force to False as if already initialized, tracer will be None. + # see: jaeger_client/config.py#L374 + Config._initialized = False self.driver = jaeger.Jaeger("jaeger://127.0.0.1:6831", - project="nova", service="api") + project="nova", service="api", + conf=cfg.CONF) @mock.patch("osprofiler._utils.shorten_id") def test_notify_start(self, mock_shorten_id): @@ -76,3 +90,21 @@ class JaegerTestCase(test.TestCase): mock_time.reset_mock() span.finish.assert_called_once_with(finish_time=fake_time) + + def test_service_name_default(self): + self.assertEqual("pr1-svc1", self.driver._get_service_name( + cfg.CONF, "pr1", "svc1")) + + def test_service_name_prefix(self): + cfg.CONF.set_default( + "service_name_prefix", "prx1", "profiler_jaeger") + self.assertEqual("prx1-pr1-svc1", self.driver._get_service_name( + cfg.CONF, "pr1", "svc1")) + + def test_process_tags(self): + tags = self.driver.tracer.tags + # Let's remove variable tags generated by Jaeger client + del tags['hostname'] + del tags['jaeger.version'] + del tags['ip'] + self.assertEqual({'k1': 'v1', 'k2': 'v2'}, tags) |