From 61ad12281f951f4f5933803b47998d168f3ed9ba Mon Sep 17 00:00:00 2001 From: Shubham Padkonde Date: Fri, 2 Oct 2026 12:23:07 +0530 Subject: [PATCH] fix: read default registry configuration at construction --- spectator/registry.py | 4 +++- tests/test_registry.py | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/spectator/registry.py b/spectator/registry.py index 119e576..078098e 100644 --- a/spectator/registry.py +++ b/spectator/registry.py @@ -19,7 +19,9 @@ class Registry: """Registry is the main entry point for interacting with the Spectator library.""" - def __init__(self, config: Config = Config()) -> None: + def __init__(self, config: Optional[Config] = None) -> None: + if config is None: + config = Config() self._logger = logging.getLogger(__name__) self._config = config if config.is_global: diff --git a/tests/test_registry.py b/tests/test_registry.py index cfef65b..e4cc7d1 100755 --- a/tests/test_registry.py +++ b/tests/test_registry.py @@ -1,12 +1,33 @@ import ctypes import logging +import os import unittest +from unittest.mock import patch from spectator import Config, MemoryWriter, Registry class RegistryTest(unittest.TestCase): + def test_default_config_reads_current_environment(self): + with patch.dict(os.environ, {"SPECTATOR_OUTPUT_LOCATION": "memory", + "NETFLIX_PROCESS_NAME": "worker"}): + registry = Registry() + self.addCleanup(registry.close) + self.assertIsInstance(registry.writer(), MemoryWriter) + self.assertEqual("worker", registry.new_id("requests").tags()["nf.process"]) + + def test_default_config_refreshes_between_registries(self): + with patch.dict(os.environ, {"SPECTATOR_OUTPUT_LOCATION": "memory", + "NETFLIX_PROCESS_NAME": "first"}): + first = Registry() + self.addCleanup(first.close) + os.environ["NETFLIX_PROCESS_NAME"] = "second" + second = Registry() + self.addCleanup(second.close) + self.assertEqual("first", first.new_id("requests").tags()["nf.process"]) + self.assertEqual("second", second.new_id("requests").tags()["nf.process"]) + def test_close(self): r = Registry(Config("memory"))