Example #1
0
    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()
Example #2
0
 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)
Example #3
0
 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)
Example #4
0
    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)
Example #5
0
    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)
Example #7
0
    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)
Example #9
0
 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)
Example #10
0
    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()
Example #11
0
    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()