diff --git a/src/crewai/telemetry/telemetry.py b/src/crewai/telemetry/telemetry.py index 7e756cd5b..9a929e6e1 100644 --- a/src/crewai/telemetry/telemetry.py +++ b/src/crewai/telemetry/telemetry.py @@ -107,6 +107,12 @@ class Telemetry: cls._instance._initialized = False return cls._instance + @classmethod + def _reset_instance(cls): + """Reset the singleton instance for testing purposes.""" + with cls._lock: + cls._instance = None + def __init__(self) -> None: if hasattr(self, '_initialized') and self._initialized: return diff --git a/tests/test_optional_dependencies.py b/tests/test_optional_dependencies.py index aafc1fc64..3b57b9f4e 100644 --- a/tests/test_optional_dependencies.py +++ b/tests/test_optional_dependencies.py @@ -95,6 +95,9 @@ class TestOptionalDependencies: def test_opentelemetry_graceful_degradation(self): """Test that telemetry degrades gracefully without opentelemetry.""" + from crewai.telemetry.telemetry import Telemetry + Telemetry._reset_instance() + with patch.dict('sys.modules', {'opentelemetry': None}): with patch('crewai.telemetry.telemetry.OPENTELEMETRY_AVAILABLE', False): from crewai.telemetry.telemetry import Telemetry