Skip to content

Commit

Permalink
test: Fix telemetry tests so they don't fail (#7708)
Browse files Browse the repository at this point in the history
* Fix telemetry tests so they don't fail

* Remove test

---------

Co-authored-by: Massimiliano Pippi <mpippi@gmail.com>
  • Loading branch information
silvanocerza and masci committed May 23, 2024
1 parent 38747ff commit 4bc6285
Showing 1 changed file with 20 additions and 23 deletions.
43 changes: 20 additions & 23 deletions test/tracing/test_tracer.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
# SPDX-FileCopyrightText: 2022-present deepset GmbH <info@deepset.ai>
#
# SPDX-License-Identifier: Apache-2.0
import builtins
import sys
from unittest.mock import Mock
from unittest.mock import Mock, patch

import ddtrace
import opentelemetry.trace
Expand All @@ -19,6 +18,8 @@
from haystack.tracing.tracer import (
NullTracer,
NullSpan,
_auto_configured_opentelemetry_tracer,
_auto_configured_datadog_tracer,
enable_tracing,
Tracer,
disable_tracing,
Expand Down Expand Up @@ -97,10 +98,6 @@ def configured_opentelemetry_tracing(self) -> None:
opentelemetry.trace._TRACER_PROVIDER = None
disable_tracing()

@pytest.fixture()
def uninstalled_ddtrace_package(self, monkeypatch: MonkeyPatch) -> None:
monkeypatch.setattr(ddtrace.tracer, "enabled", False)

def test_skip_auto_enable_tracer_if_already_configured(self) -> None:
my_tracker = Mock(spec=Tracer) # anything else than `NullTracer` works for this test
enable_tracing(my_tracker)
Expand All @@ -127,30 +124,30 @@ def test_enable_opentelemetry_tracer(self, configured_opentelemetry_tracing: Non
assert isinstance(activated_tracer, OpenTelemetryTracer)
assert is_tracing_enabled()

def test_skip_enable_opentelemetry_tracer_if_import_error(self, monkeypatch: MonkeyPatch) -> None:
monkeypatch.delitem(sys.modules, "opentelemetry", raising=False)
monkeypatch.setattr(builtins, "__import__", Mock(side_effect=ImportError))
def test_add_datadog_tracer(self) -> None:
auto_enable_tracing()

activated_tracer = tracer.actual_tracer
assert isinstance(activated_tracer, NullTracer)
assert not is_tracing_enabled()
assert isinstance(activated_tracer, DatadogTracer)
assert is_tracing_enabled()

def test_skip_add_datadog_tracer_if_import_error(self, monkeypatch: MonkeyPatch) -> None:
monkeypatch.delitem(sys.modules, "ddtrace", raising=False)
monkeypatch.setattr(builtins, "__import__", Mock(side_effect=ImportError))
auto_enable_tracing()
def test__auto_configured_opentelemetry_tracer(self, configured_opentelemetry_tracing):
tracer = _auto_configured_opentelemetry_tracer()
assert isinstance(tracer, OpenTelemetryTracer)

activated_tracer = tracer.actual_tracer
assert isinstance(activated_tracer, NullTracer)
assert not is_tracing_enabled()
def test__auto_configured_opentelemetry_tracer_with_failing_import(self, monkeypatch):
monkeypatch.delitem(sys.modules, "opentelemetry.trace", raising=False)
tracer = _auto_configured_opentelemetry_tracer()
assert tracer is None

def test_add_datadog_tracer(self) -> None:
auto_enable_tracing()
def test__auto_configured_datadog_tracer(self):
tracer = _auto_configured_datadog_tracer()
assert isinstance(tracer, DatadogTracer)

activated_tracer = tracer.actual_tracer
assert isinstance(activated_tracer, DatadogTracer)
assert is_tracing_enabled()
def test__auto_configured_datadog_tracer_with_failing_import(self, monkeypatch):
monkeypatch.setattr(ddtrace.tracer, "enabled", False)
tracer = _auto_configured_datadog_tracer()
assert tracer is None


class TestTracingContent:
Expand Down

0 comments on commit 4bc6285

Please sign in to comment.