@@ -151,33 +151,45 @@ def test_shutdown(self):
151
151
152
152
mock_metric_reader_0 = MagicMock (
153
153
** {
154
- "shutdown.return_value" : False ,
155
- "__str__.return_value" : "mock_metric_reader_0" ,
154
+ "shutdown.side_effect" : ZeroDivisionError (),
155
+ }
156
+ )
157
+ mock_metric_reader_1 = MagicMock (
158
+ ** {
159
+ "shutdown.side_effect" : AssertionError (),
156
160
}
157
161
)
158
- mock_metric_reader_1 = Mock (** {"shutdown.return_value" : True })
159
162
160
163
meter_provider = MeterProvider (
161
164
metric_readers = [mock_metric_reader_0 , mock_metric_reader_1 ]
162
165
)
163
166
164
- with self .assertLogs (level = WARNING ) as log :
165
- self .assertFalse (meter_provider .shutdown ())
166
- self .assertEqual (
167
- log .records [0 ].getMessage (),
168
- "MetricReader mock_metric_reader_0 failed to shutdown" ,
169
- )
167
+ with self .assertRaises (Exception ) as error :
168
+ meter_provider .shutdown ()
169
+
170
+ error = error .exception
171
+
172
+ self .assertEqual (
173
+ str (error ),
174
+ (
175
+ "MeterProvider.shutdown failed because the following "
176
+ "metric readers failed during shutdown:\n "
177
+ "MagicMock: ZeroDivisionError()\n "
178
+ "MagicMock: AssertionError()"
179
+ ),
180
+ )
181
+
170
182
mock_metric_reader_0 .shutdown .assert_called_once ()
171
183
mock_metric_reader_1 .shutdown .assert_called_once ()
172
184
173
- mock_metric_reader_0 = Mock (** { "shutdown.return_value" : True } )
174
- mock_metric_reader_1 = Mock (** { "shutdown.return_value" : True } )
185
+ mock_metric_reader_0 = Mock ()
186
+ mock_metric_reader_1 = Mock ()
175
187
176
188
meter_provider = MeterProvider (
177
189
metric_readers = [mock_metric_reader_0 , mock_metric_reader_1 ]
178
190
)
179
191
180
- self .assertTrue (meter_provider .shutdown ())
192
+ self .assertIsNone (meter_provider .shutdown ())
181
193
mock_metric_reader_0 .shutdown .assert_called_once ()
182
194
mock_metric_reader_1 .shutdown .assert_called_once ()
183
195
0 commit comments