@@ -21,11 +21,10 @@ class TestMetricsFactory(unittest.TestCase):
2121
2222 def setUp (self ):
2323 _reset_cleaned_directories ()
24- self .metrics_dir = tempfile .mkdtemp ()
25- self .settings = MetricsSettings (directory = self .metrics_dir )
2624 self ._saved_env = {}
2725 for key in ("WORKER_CANONICAL_METRICS" , "WORKER_LEGACY_METRICS" ):
2826 self ._saved_env [key ] = os .environ .pop (key , None )
27+ self .metrics_dir = tempfile .mkdtemp ()
2928
3029 def tearDown (self ):
3130 for key , val in self ._saved_env .items ():
@@ -37,62 +36,62 @@ def tearDown(self):
3736 shutil .rmtree (self .metrics_dir )
3837 _reset_cleaned_directories ()
3938
39+ def _make_settings (self , ** kwargs ):
40+ kwargs .setdefault ("directory" , self .metrics_dir )
41+ return MetricsSettings (** kwargs )
42+
4043 def test_default_returns_legacy (self ):
4144 """With no env vars set, factory returns LegacyMetricsCollector."""
42- collector = create_metrics_collector (self .settings )
45+ collector = create_metrics_collector (self ._make_settings () )
4346 self .assertIsInstance (collector , LegacyMetricsCollector )
4447
4548 def test_canonical_true_returns_canonical (self ):
4649 """WORKER_CANONICAL_METRICS=true selects CanonicalMetricsCollector."""
4750 os .environ ["WORKER_CANONICAL_METRICS" ] = "true"
48- collector = create_metrics_collector (self .settings )
51+ collector = create_metrics_collector (self ._make_settings () )
4952 self .assertIsInstance (collector , CanonicalMetricsCollector )
5053
5154 def test_canonical_1_returns_canonical (self ):
5255 """WORKER_CANONICAL_METRICS=1 selects CanonicalMetricsCollector."""
5356 os .environ ["WORKER_CANONICAL_METRICS" ] = "1"
54- collector = create_metrics_collector (self .settings )
57+ collector = create_metrics_collector (self ._make_settings () )
5558 self .assertIsInstance (collector , CanonicalMetricsCollector )
5659
5760 def test_canonical_yes_returns_canonical (self ):
5861 """WORKER_CANONICAL_METRICS=yes selects CanonicalMetricsCollector."""
5962 os .environ ["WORKER_CANONICAL_METRICS" ] = "yes"
60- collector = create_metrics_collector (self .settings )
63+ collector = create_metrics_collector (self ._make_settings () )
6164 self .assertIsInstance (collector , CanonicalMetricsCollector )
6265
6366 def test_canonical_false_returns_legacy (self ):
6467 """WORKER_CANONICAL_METRICS=false selects LegacyMetricsCollector."""
6568 os .environ ["WORKER_CANONICAL_METRICS" ] = "false"
66- collector = create_metrics_collector (self .settings )
69+ collector = create_metrics_collector (self ._make_settings () )
6770 self .assertIsInstance (collector , LegacyMetricsCollector )
6871
6972 def test_canonical_takes_priority_over_legacy (self ):
7073 """WORKER_CANONICAL_METRICS=true wins even if WORKER_LEGACY_METRICS=true."""
7174 os .environ ["WORKER_CANONICAL_METRICS" ] = "true"
7275 os .environ ["WORKER_LEGACY_METRICS" ] = "true"
73- collector = create_metrics_collector (self .settings )
76+ collector = create_metrics_collector (self ._make_settings () )
7477 self .assertIsInstance (collector , CanonicalMetricsCollector )
7578
7679 def test_legacy_collector_name (self ):
7780 """LegacyMetricsCollector.collector_name() returns 'legacy'."""
78- collector = create_metrics_collector (self .settings )
81+ collector = create_metrics_collector (self ._make_settings () )
7982 self .assertEqual (collector .collector_name (), "legacy" )
8083
8184 def test_canonical_collector_name (self ):
8285 """CanonicalMetricsCollector.collector_name() returns 'canonical'."""
8386 os .environ ["WORKER_CANONICAL_METRICS" ] = "true"
84- collector = create_metrics_collector (
85- MetricsSettings (directory = tempfile .mkdtemp ())
86- )
87+ collector = create_metrics_collector (self ._make_settings ())
8788 self .assertEqual (collector .collector_name (), "canonical" )
8889
8990 def test_both_implementations_satisfy_same_interface (self ):
9091 """Both implementations have the same public method surface."""
91- legacy = LegacyMetricsCollector (self .settings )
92+ legacy = LegacyMetricsCollector (self ._make_settings () )
9293 os .environ ["WORKER_CANONICAL_METRICS" ] = "true"
93- canonical = create_metrics_collector (
94- MetricsSettings (directory = tempfile .mkdtemp ())
95- )
94+ canonical = create_metrics_collector (self ._make_settings ())
9695
9796 required_methods = [
9897 "collector_name" ,
0 commit comments