Ejemplo n.º 1
0
    def test_remove_time_series(self):
        long_gauge = gauge.LongGauge(Mock(), Mock(), Mock(), [Mock(), Mock()])

        with self.assertRaises(ValueError):
            long_gauge.remove_time_series(None)
        with self.assertRaises(ValueError):
            long_gauge.remove_time_series([Mock()])
        with self.assertRaises(ValueError):
            long_gauge.remove_time_series([Mock(), Mock(), Mock()])
        with self.assertRaises(ValueError):
            long_gauge.remove_time_series([Mock(), None])

        lv1 = [Mock(), Mock()]
        long_gauge.get_or_create_time_series(lv1)
        lv2 = [Mock(), Mock()]
        long_gauge.get_or_create_time_series(lv2)
        self.assertEqual(len(long_gauge.points.keys()), 2)

        # Removing a non-existent point shouldn't fail, or remove anything
        long_gauge.remove_time_series([Mock(), Mock()])
        self.assertEqual(len(long_gauge.points.keys()), 2)

        long_gauge.remove_time_series(lv1)
        self.assertEqual(len(long_gauge.points.keys()), 1)
        [key] = long_gauge.points.keys()
        self.assertEqual(key, tuple(lv2))

        long_gauge.remove_time_series(lv2)
        self.assertEqual(len(long_gauge.points.keys()), 0)
Ejemplo n.º 2
0
    def test_get_metric(self):
        name = Mock()
        description = Mock()
        unit = Mock()
        label_keys = [Mock(), Mock]
        long_gauge = gauge.LongGauge(name, description, unit, label_keys)

        timestamp = Mock()
        null_metric = long_gauge.get_metric(timestamp)
        self.assertIsNone(null_metric)

        lv1 = [Mock(), Mock()]
        lv2 = [Mock(), Mock()]
        point1 = long_gauge.get_or_create_time_series(lv1)
        point2 = long_gauge.get_or_create_time_series(lv2)

        point1.set(1)
        point2.set(2)
        metric = long_gauge.get_metric(timestamp)
        self.assertEqual(metric.descriptor, long_gauge.descriptor)
        self.assertEqual(len(metric.time_series), 2)
        self.assertEqual(len(metric.time_series[0].points), 1)
        self.assertEqual(len(metric.time_series[1].points), 1)
        self.assertIsInstance(metric.time_series[0].points[0].value,
                              value_module.ValueLong)
        self.assertIsInstance(metric.time_series[1].points[0].value,
                              value_module.ValueLong)
        self.assertEqual(metric.time_series[0].points[0].value.value, 1)
        self.assertEqual(metric.time_series[1].points[0].value.value, 2)
Ejemplo n.º 3
0
    def test_get_time_series(self):
        name = Mock()
        description = Mock()
        unit = Mock()
        label_keys = [Mock(), Mock]
        long_gauge = gauge.LongGauge(name, description, unit, label_keys)
        with self.assertRaises(ValueError):
            long_gauge.get_or_create_time_series(None)
        with self.assertRaises(ValueError):
            long_gauge.get_or_create_time_series([Mock()])
        with self.assertRaises(ValueError):
            long_gauge.get_or_create_time_series([Mock(), Mock(), Mock()])
        with self.assertRaises(ValueError):
            long_gauge.get_or_create_time_series([Mock(), None])

        label_values = [Mock(), Mock()]
        point = long_gauge.get_or_create_time_series(label_values)
        self.assertIsInstance(point, gauge.GaugePointLong)
        self.assertEqual(point.value, 0)
        self.assertEqual(len(long_gauge.points.keys()), 1)
        [key] = long_gauge.points.keys()
        self.assertEqual(key, tuple(label_values))
        point2 = long_gauge.get_or_create_time_series(label_values)
        self.assertIs(point, point2)
        self.assertEqual(len(long_gauge.points.keys()), 1)
Ejemplo n.º 4
0
    def test_remove_default_time_series(self):
        long_gauge = gauge.LongGauge(Mock(), Mock(), Mock(), [Mock(), Mock()])

        # Removing the default point before it exists shouldn't fail
        long_gauge.remove_default_time_series()

        long_gauge.get_or_create_default_time_series()
        self.assertEqual(len(long_gauge.points.keys()), 1)
        long_gauge.remove_default_time_series()
        self.assertEqual(len(long_gauge.points.keys()), 0)
Ejemplo n.º 5
0
 def test_init(self):
     name = Mock()
     description = Mock()
     unit = Mock()
     label_keys = [Mock(), Mock]
     long_gauge = gauge.LongGauge(name, description, unit, label_keys)
     self.assertEqual(long_gauge.descriptor.name, name)
     self.assertEqual(long_gauge.descriptor.description, description)
     self.assertEqual(long_gauge.descriptor.unit, unit)
     self.assertEqual(long_gauge.descriptor.label_keys, label_keys)
     self.assertEqual(long_gauge.descriptor.type,
                      metric_descriptor.MetricDescriptorType.GAUGE_INT64)
Ejemplo n.º 6
0
    def test_get_metric_default(self):
        name = Mock()
        description = Mock()
        unit = Mock()
        label_keys = [Mock(), Mock]
        long_gauge = gauge.LongGauge(name, description, unit, label_keys)

        default_point = long_gauge.get_or_create_default_time_series()
        default_point.set(3)

        timestamp = Mock()
        metric = long_gauge.get_metric(timestamp)
        self.assertEqual(metric.descriptor, long_gauge.descriptor)
        self.assertEqual(len(metric.time_series), 1)
        self.assertEqual(len(metric.time_series[0].points), 1)
        self.assertIsInstance(metric.time_series[0].points[0].value,
                              value_module.ValueLong)
        self.assertEqual(metric.time_series[0].points[0].value.value, 3)
Ejemplo n.º 7
0
    def test_clear(self):
        name = Mock()
        description = Mock()
        unit = Mock()
        label_keys = [Mock(), Mock]
        long_gauge = gauge.LongGauge(name, description, unit, label_keys)

        label_values = [Mock(), Mock()]
        point = long_gauge.get_or_create_time_series(label_values)
        self.assertEqual(len(long_gauge.points.keys()), 1)
        point.add(1)

        long_gauge.clear()
        self.assertDictEqual(long_gauge.points, {})

        label_values = [Mock(), Mock()]
        point2 = long_gauge.get_or_create_time_series(label_values)
        self.assertEqual(point2.value, 0)
        self.assertIsNot(point, point2)
Ejemplo n.º 8
0
 def test_get_default_time_series(self):
     long_gauge = gauge.LongGauge(Mock(), Mock(), Mock(), [Mock(), Mock])
     default_point = long_gauge.get_or_create_default_time_series()
     self.assertIsInstance(default_point, gauge.GaugePointLong)
     self.assertEqual(default_point.value, 0)
     self.assertEqual(len(long_gauge.points.keys()), 1)