|
15 | 15 |
|
16 | 16 | from logging import WARNING
|
17 | 17 | from unittest import TestCase
|
18 |
| -from unittest.mock import Mock, patch |
| 18 | +from unittest.mock import MagicMock, Mock, patch |
19 | 19 |
|
20 | 20 | from opentelemetry.sdk._metrics import Meter, MeterProvider
|
21 | 21 | from opentelemetry.sdk._metrics.instrument import (
|
@@ -92,14 +92,24 @@ def test_get_meter_duplicate(self):
|
92 | 92 |
|
93 | 93 | def test_shutdown(self):
|
94 | 94 |
|
95 |
| - mock_metric_reader_0 = Mock(**{"shutdown.return_value": False}) |
| 95 | + mock_metric_reader_0 = MagicMock( |
| 96 | + **{ |
| 97 | + "shutdown.return_value": False, |
| 98 | + "__str__.return_value": "mock_metric_reader_0", |
| 99 | + } |
| 100 | + ) |
96 | 101 | mock_metric_reader_1 = Mock(**{"shutdown.return_value": True})
|
97 | 102 |
|
98 | 103 | meter_provider = MeterProvider(
|
99 | 104 | metric_readers=[mock_metric_reader_0, mock_metric_reader_1]
|
100 | 105 | )
|
101 | 106 |
|
102 |
| - self.assertFalse(meter_provider.shutdown()) |
| 107 | + with self.assertLogs(level=WARNING) as log: |
| 108 | + self.assertFalse(meter_provider.shutdown()) |
| 109 | + self.assertEqual( |
| 110 | + log.records[0].getMessage(), |
| 111 | + "MetricReader mock_metric_reader_0 failed to shutdown", |
| 112 | + ) |
103 | 113 | mock_metric_reader_0.shutdown.assert_called_once()
|
104 | 114 | mock_metric_reader_1.shutdown.assert_called_once()
|
105 | 115 |
|
|
0 commit comments