def test_record_previous_negative_value(self): """Check that negative measurements poison the map.""" measurement_map = measurement_map_module.MeasurementMap(mock.Mock()) measure = mock.Mock() measurement_map.measure_int_put(measure, 1) measurement_map.record() self.assertFalse(measurement_map._invalid) measurement_map._measure_to_view_map.record.assert_called_once() measurement_map.measure_int_put(measure, -1) measurement_map._measure_to_view_map = mock.Mock() with logger_patch as mock_logger: measurement_map.record() self.assertTrue(measurement_map._invalid) measurement_map._measure_to_view_map.record.assert_not_called() mock_logger.warning.assert_called_once() measurement_map.measure_int_put(measure, 1) with logger_patch as another_mock_logger: measurement_map.record() self.assertTrue(measurement_map._invalid) measurement_map._measure_to_view_map.record.assert_not_called() another_mock_logger.warning.assert_called_once()
def test_record_against_implicit_tag_map(self): measure_to_view_map = mock.Mock() measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map) TagContext.set(TagMap(tags=[Tag('testtag1', 'testtag1val')])) measurement_map.record() self.assertTrue(measure_to_view_map.record.called)
def test_put_attachment(self): measure_to_view_map = mock.Mock() test_key = 'testKey' test_value = 'testValue' measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map, attachments={}) measurement_map.measure_put_attachment(test_key, test_value) self.assertEqual({'testKey': 'testValue'}, measurement_map.attachments)
def test_constructor_explicit(self): measure_to_view_map = {'testMeasure1': 'testVal1'} measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map) self.assertEqual(measure_to_view_map, measurement_map.measure_to_view_map) self.assertEqual({}, measurement_map.measurement_map)
def test_record_against_explicit_tag_map(self): measure_to_view_map = mock.Mock() measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map) tags = {'testtag1': 'testtag1val'} measurement_map.record(tags=tags) self.assertTrue(measure_to_view_map.record.called)
def test_put_attachment_int_value(self): measure_to_view_map = mock.Mock() test_key = 'testKey' test_value = 42 measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map, attachments={}) with self.assertRaisesRegexp(TypeError, 'attachment value should not be empty and should be a string'): measurement_map.measure_put_attachment(test_key, test_value)
def test_measure_float_put(self): measure_to_view_map = mock.Mock() test_key = 'testKey' test_value = 1.0 measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map) measurement_map.measure_float_put(test_key, test_value) self.assertEqual({'testKey': 1.0}, measurement_map.measurement_map)
def test_record_against_implicit_tag_map(self): measure_to_view_map = mock.Mock() measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map) tags = {'testtag1': 'testtag1val'} execution_context.set_current_tag_map(tags) measurement_map.record() self.assertTrue(measure_to_view_map.record.called)
def test_put_attachment_none_key(self): measure_to_view_map = mock.Mock() measurement_map = measurement_map_module.MeasurementMap( measure_to_view_map=measure_to_view_map, attachments={}) with self.assertRaisesRegexp( TypeError, 'attachment key should not be empty and should be a string'): test_key = None test_value = 'testValue' measurement_map.measure_put_attachment(test_key, test_value)
def test_log_negative_puts(self): """Check that we warn against negative measurements on put.""" measurement_map = measurement_map_module.MeasurementMap(mock.Mock()) with logger_patch as mock_logger: measurement_map.measure_int_put(mock.Mock(), -1) mock_logger.warning.assert_called_once() with logger_patch as another_mock_logger: measurement_map.measure_float_put(mock.Mock(), -1.0) another_mock_logger.warning.assert_called_once()
def test_record_negative_value(self): """Check that we refuse to record negative measurements.""" measurement_map = measurement_map_module.MeasurementMap(mock.Mock()) measurement_map.measure_int_put(mock.Mock(), 1) measurement_map.measure_int_put(mock.Mock(), -1) with logger_patch as mock_logger: measurement_map.record() self.assertTrue(measurement_map._invalid) measurement_map._measure_to_view_map.record.assert_not_called() mock_logger.warning.assert_called_once()