@@ -122,39 +122,37 @@ async def test_single_request(
122122 resampling_req_chan = Broadcast [ComponentMetricRequest ]("resample-req" )
123123 resampling_req_sender = resampling_req_chan .new_sender ()
124124
125- resampling_actor = ComponentMetricsResamplingActor (
125+ async with ComponentMetricsResamplingActor (
126126 channel_registry = channel_registry ,
127127 data_sourcing_request_sender = data_source_req_chan .new_sender (),
128128 resampling_request_receiver = resampling_req_chan .new_receiver (),
129129 config = ResamplerConfig (
130130 resampling_period = timedelta (seconds = 0.2 ),
131131 max_data_age_in_periods = 2 ,
132132 ),
133- )
134-
135- subs_req = ComponentMetricRequest (
136- namespace = "Resampling" ,
137- component_id = 9 ,
138- metric_id = ComponentMetricId .SOC ,
139- start_time = None ,
140- )
141-
142- await resampling_req_sender .send (subs_req )
143- data_source_req = await data_source_req_recv .receive ()
144- assert data_source_req is not None
145- assert data_source_req == dataclasses .replace (
146- subs_req , namespace = "Resampling:Source"
147- )
148-
149- await _assert_resampling_works (
150- channel_registry ,
151- fake_time ,
152- resampling_chan_name = subs_req .get_channel_name (),
153- data_source_chan_name = data_source_req .get_channel_name (),
154- )
155-
156- await resampling_actor ._stop () # type: ignore # pylint: disable=no-member,protected-access
157- await resampling_actor ._resampler .stop () # pylint: disable=protected-access
133+ ) as resampling_actor :
134+ subs_req = ComponentMetricRequest (
135+ namespace = "Resampling" ,
136+ component_id = 9 ,
137+ metric_id = ComponentMetricId .SOC ,
138+ start_time = None ,
139+ )
140+
141+ await resampling_req_sender .send (subs_req )
142+ data_source_req = await data_source_req_recv .receive ()
143+ assert data_source_req is not None
144+ assert data_source_req == dataclasses .replace (
145+ subs_req , namespace = "Resampling:Source"
146+ )
147+
148+ await _assert_resampling_works (
149+ channel_registry ,
150+ fake_time ,
151+ resampling_chan_name = subs_req .get_channel_name (),
152+ data_source_chan_name = data_source_req .get_channel_name (),
153+ )
154+
155+ await resampling_actor ._resampler .stop () # pylint: disable=protected-access
158156
159157
160158async def test_duplicate_request (
@@ -168,37 +166,35 @@ async def test_duplicate_request(
168166 resampling_req_chan = Broadcast [ComponentMetricRequest ]("resample-req" )
169167 resampling_req_sender = resampling_req_chan .new_sender ()
170168
171- resampling_actor = ComponentMetricsResamplingActor (
169+ async with ComponentMetricsResamplingActor (
172170 channel_registry = channel_registry ,
173171 data_sourcing_request_sender = data_source_req_chan .new_sender (),
174172 resampling_request_receiver = resampling_req_chan .new_receiver (),
175173 config = ResamplerConfig (
176174 resampling_period = timedelta (seconds = 0.2 ),
177175 max_data_age_in_periods = 2 ,
178176 ),
179- )
180-
181- subs_req = ComponentMetricRequest (
182- namespace = "Resampling" ,
183- component_id = 9 ,
184- metric_id = ComponentMetricId .SOC ,
185- start_time = None ,
186- )
187-
188- await resampling_req_sender .send (subs_req )
189- data_source_req = await data_source_req_recv .receive ()
190-
191- # Send duplicate request
192- await resampling_req_sender .send (subs_req )
193- with pytest .raises (asyncio .TimeoutError ):
194- await asyncio .wait_for (data_source_req_recv .receive (), timeout = 0.1 )
195-
196- await _assert_resampling_works (
197- channel_registry ,
198- fake_time ,
199- resampling_chan_name = subs_req .get_channel_name (),
200- data_source_chan_name = data_source_req .get_channel_name (),
201- )
202-
203- await resampling_actor ._stop () # type: ignore # pylint: disable=no-member,protected-access
204- await resampling_actor ._resampler .stop () # pylint: disable=protected-access
177+ ) as resampling_actor :
178+ subs_req = ComponentMetricRequest (
179+ namespace = "Resampling" ,
180+ component_id = 9 ,
181+ metric_id = ComponentMetricId .SOC ,
182+ start_time = None ,
183+ )
184+
185+ await resampling_req_sender .send (subs_req )
186+ data_source_req = await data_source_req_recv .receive ()
187+
188+ # Send duplicate request
189+ await resampling_req_sender .send (subs_req )
190+ with pytest .raises (asyncio .TimeoutError ):
191+ await asyncio .wait_for (data_source_req_recv .receive (), timeout = 0.1 )
192+
193+ await _assert_resampling_works (
194+ channel_registry ,
195+ fake_time ,
196+ resampling_chan_name = subs_req .get_channel_name (),
197+ data_source_chan_name = data_source_req .get_channel_name (),
198+ )
199+
200+ await resampling_actor ._resampler .stop () # pylint: disable=protected-access
0 commit comments