def test_run(self): callback = Mock() observer = metrics.UpDownSumObserver(callback, "name", "desc", "unit", int, Mock(), (), True) self.assertTrue(observer.run()) callback.assert_called_once_with(observer)
def test_observe_incorrect_type(self, logger_mock): observer = metrics.UpDownSumObserver(None, "name", "desc", "unit", int, Mock(), ("key", ), True) labels = {"key": "value"} observer.observe(37.0, labels) self.assertEqual(len(observer.aggregators), 0) self.assertTrue(logger_mock.warning.called)
def test_observe_disabled(self): observer = metrics.UpDownSumObserver( None, "name", "desc", "unit", int, ("key",), False ) labels = {"key": "value"} observer.observe(37, labels) self.assertEqual(len(observer.aggregators), 0)
def test_run_exception(self, logger_mock): callback = Mock() callback.side_effect = Exception("We have a problem!") observer = metrics.UpDownSumObserver(callback, "name", "desc", "unit", int, Mock(), (), True) self.assertFalse(observer.run()) self.assertTrue(logger_mock.warning.called)
def test_run(self): meter = metrics.MeterProvider().get_meter(__name__) callback = mock.Mock() observer = metrics.UpDownSumObserver(callback, "name", "desc", "unit", int, meter, (), True) self.assertTrue(observer.run()) callback.assert_called_once_with(observer)
def test_observe(self): observer = metrics.UpDownSumObserver(None, "name", "desc", "unit", int, Mock(), ("key", ), True) labels = {"key": "value"} key_labels = metrics.get_dict_as_key(labels) values = (37, 42, 14, 30) for val in values: observer.observe(val, labels) self.assertEqual(observer.aggregators[key_labels].current, values[-1])
def test_observe(self): meter = metrics.MeterProvider().get_meter(__name__) observer = metrics.UpDownSumObserver(None, "name", "desc", "unit", int, meter, ("key", ), True) labels = {"key": "value"} key_labels = tuple(sorted(labels.items())) values = (37, 42, 14, 30) for val in values: observer.observe(val, labels) self.assertEqual(observer.aggregators[key_labels].current, values[-1])