def test_set_multiple_metrics_with_invalid(self): # list of json strs, call set_metrics json_strs = [ '{"name": "test/name1", "value": 13}', '{"name": "test/name2"}', '{"name": "test/name3", "value": 14}' ] with self.assertRaises(KeyError): common.set_metrics(json_strs, ts_mon.GaugeMetric)
def test_set_one_metric(self): json_str = '{"name": "test/name", "value": 13}' metrics = common.set_metrics([json_str], ts_mon.GaugeMetric) self.assertEqual(1, len(metrics)) self.assertIsInstance(metrics[0], ts_mon.GaugeMetric) for metric in metrics: metric.unregister() # Cleanup
def test_set_multiple_points_wrong_fields(self): # list of json strs, call set_metrics json_strs = ['{"name": "test/name", "field1": "foo", "value": 13}', '{"name": "test/name", "field2": "bar", "value": 14}'] metrics = common.set_metrics(json_strs, ts_mon.GaugeMetric) self.assertEquals(0, len(metrics))
def test_set_one_metric_with_start_time(self): json_str = '{"name": "test/name", "value": 13, "start_time": 1234}' metrics = common.set_metrics([json_str], ts_mon.CounterMetric) self.assertEqual(1, len(metrics)) self.assertIsInstance(metrics[0], ts_mon.CounterMetric) self.assertTrue(metrics[0].name.startswith("test/name")) for metric in metrics: metric.unregister() # Cleanup
def test_set_multiple_points_wrong_start_time(self): # list of json strs, call set_metrics json_strs = [ '{"name": "test", "field": "foo", "value": 13, "start_time": 1234}', '{"name": "test", "field": "baz", "value": 17, "start_time": 1234}', '{"name": "test", "field": "bar", "value": 14, "start_time": 123}'] metrics = common.set_metrics(json_strs, ts_mon.CounterMetric) self.assertEquals(0, len(metrics))
def test_set_one_metric_with_start_time(self): json_str = '{"name": "test/name", "value": 13, "start_time": 1234}' metrics = common.set_metrics([json_str], ts_mon.CounterMetric) self.assertEqual(1, len(metrics)) self.assertIsInstance(metrics[0], ts_mon.CounterMetric) self.assertTrue(metrics[0].name.startswith("test/name")) self.assertEquals(metrics[0]._start_time, 1234) for metric in metrics: metric.unregister() # Cleanup
def test_set_multiple_metrics_with_invalid(self): # list of json strs, call set_metrics json_strs = ['{"name": "test/name1", "value": 13}', '{"name": "test/name2"}', '{"name": "test/name3", "value": 14}'] metrics = common.set_metrics(json_strs, ts_mon.GaugeMetric) self.assertEquals(len(metrics) + 1, len(json_strs)) for metric in metrics: self.assertIsInstance(metric, ts_mon.GaugeMetric) self.assertTrue(metric.name.startswith("test/name"))
def test_set_multiple_metrics(self): # list of json strs, call set_metrics json_strs = ['{"name": "test/name1", "value": 13}', '{"name": "test/name2", "value": 14}'] metrics = common.set_metrics(json_strs, ts_mon.GaugeMetric) self.assertEquals(len(metrics), len(json_strs)) for metric in metrics: self.assertIsInstance(metric, ts_mon.GaugeMetric) # TODO(pgervais): Add a property to ts_mon.Metric instead. self.assertTrue(metric._name.startswith("test/name")) ts_mon.unregister(metric) # Cleanup
def test_set_multiple_points(self): # list of json strs, call set_metrics json_strs = ['{"name": "test/name", "field": "foo", "value": 13}', '{"name": "test/name", "field": "bar", "value": 14}'] metrics = common.set_metrics(json_strs, ts_mon.GaugeMetric) self.assertEquals(1, len(metrics)) self.assertIsInstance(metrics[0], ts_mon.GaugeMetric) self.assertEqual(metrics[0].name, "test/name") self.assertEqual(13, metrics[0].get({'field': 'foo'})) self.assertEqual(14, metrics[0].get({'field': 'bar'})) for metric in metrics: metric.unregister() # Cleanup
def test_set_one_metric_missing_value(self): json_str = '{"name": "test/name", "start_time": 1234}' with self.assertRaises(KeyError): common.set_metrics([json_str], ts_mon.CounterMetric)
def test_set_metric_no_input(self): metrics = common.set_metrics(None, ts_mon.GaugeMetric) self.assertEqual([], metrics)
def test_set_no_metrics(self): metrics = common.set_metrics([], ts_mon.GaugeMetric) self.assertEqual(0, len(metrics))
def test_set_one_metric_missing_value(self): json_str = '{"name": "test/name", "start_time": 1234}' metrics = common.set_metrics([json_str], ts_mon.CounterMetric) self.assertEqual([], metrics)