def setUp(self): self.api = API() logging.basicConfig(level=logging.DEBUG) self.name = 'TEST_' + TestUtils.random_string(6) self.display_name = 'green' self.display_name_short = 'blue' self.description = 'magenta' self.default_aggregate = aggregates.SUM self.default_resolution = 60000 self.unit = units.DURATION self.type = 'FOOBAR' self.is_disabled = False self.metric = Metric(name=self.name, display_name=self.display_name, display_name_short=self.display_name_short, description=self.description, default_aggregate=self.default_aggregate, default_resolution=self.default_resolution, unit=self.unit, _type=self.type, is_disabled=self.is_disabled) self.api.metric_create_batch([self.metric]) logging.basicConfig(level=logging.INFO)
def test_metric_list_to_json(self): l = [Metric(name="ONE"), Metric(name="TWO")] self.maxDiff = None s = [ '[{"defaultAggregate": "avg", "defaultResolutionMS": 1000, "description": "", "displayName": "ONE",', ' "displayNameShort": "ONE", "isDisabled": false, "name": "ONE",', ' "unit": "number"},', ' {"defaultAggregate": "avg", "defaultResolutionMS": 1000, "description": "", "displayName": "TWO",', ' "displayNameShort": "TWO", "isDisabled": false, "name": "TWO",', ' "unit": "number"}]' ] expected = "".join(s) data = json.dumps(l, sort_keys=True, default=tspapi.metric.serialize_instance) self.assertEqual(expected, data)
def test_minimal_constructor(self): name = 'FOO' m = Metric(name=name) self.assertEqual(name, m.name) self.assertEqual(name, m.display_name) self.assertEqual(name, m.display_name_short) self.assertEqual('', m.description) self.assertEqual(m.default_aggregate, aggregates.AVG) self.assertEqual(m.default_resolution, 1000) self.assertEqual(m.unit, units.NUMBER) self.assertIsNone(m.type)
def test_metric_instance_empty_name(self): """ Ensure that creating a metric with an empty name throws a ValueError exception :return: """ try: m = Metric() print(m) self.assertTrue(False) except ValueError: pass
def test_metric_to_json(self): m = Metric(name="TEST") data = json.dumps(m, sort_keys=True, default=tspapi.metric.serialize_instance) s = [ '{"defaultAggregate": "avg", "defaultResolutionMS": 1000, "description": "",', ' "displayName": "TEST", "displayNameShort": "TEST", "isDisabled": false, "name": "TEST",', ' "unit": "number"}' ] expected = "".join(s) self.assertEqual(expected, data)
def test_metric_create_one_batch(self): name = 'TEST_CREATE_BATCH_ONE_FOOBAR' + TestUtils.random_string(6) display_name = "BATCH" + TestUtils.random_string(6) display_name_short = "BATCH" + TestUtils.random_string(3) description = TestUtils.random_string(32) default_aggregate = aggregates.SUM default_resolution = random.randrange(1000, 60000) unit = units.PERCENT _type = 'FOO' is_disabled = True metric1 = Metric(name=name, display_name=display_name, display_name_short=display_name_short, description=description, default_aggregate=default_aggregate, default_resolution=default_resolution, unit=unit, _type=_type, is_disabled=is_disabled) metrics = self.api.metric_create_batch([metric1]) self.assertEqual(len(metrics), 1) m = metrics[0] self.assertEqual(name, m.name) self.assertEqual(display_name, m.display_name) self.assertEqual(display_name_short, m.display_name_short) self.assertEqual(description, m.description) self.assertEqual(default_aggregate.upper(), m.default_aggregate) self.assertEqual(default_resolution, m.default_resolution) self.assertEqual(unit, m.unit) self.assertEqual(_type, m.type) self.assertEqual(is_disabled, m.is_disabled) self.api.metric_delete(name)
def test_metric_create_multiple_batch(self): name1 = 'TEST_CREATE_BATCH_ONE_FOOBAR' + TestUtils.random_string(6) name2 = 'TEST_CREATE_BATCH_TWO_FOOBAR' + TestUtils.random_string(6) name3 = 'TEST_CREATE_BATCH_THREE_FOOBAR' + TestUtils.random_string(6) name4 = 'TEST_CREATE_BATCH_FOUR_FOOBAR' + TestUtils.random_string(6) display_name1 = 'TEST_DISPLAY_NAME' + TestUtils.random_string(6) display_name2 = 'TEST_DISPLAY_NAME' + TestUtils.random_string(6) display_name3 = 'TEST_DISPLAY_NAME' + TestUtils.random_string(6) display_name4 = 'TEST_DISPLAY_NAME' + TestUtils.random_string(6) display_name_short1 = 'TEST_SHORT' + TestUtils.random_string(10) display_name_short2 = 'TEST_SHORT' + TestUtils.random_string(10) display_name_short3 = 'TEST_SHORT' + TestUtils.random_string(10) display_name_short4 = 'TEST_SHORT' + TestUtils.random_string(10) description1 = TestUtils.random_string(32) description2 = TestUtils.random_string(32) description3 = TestUtils.random_string(32) description4 = TestUtils.random_string(32) default_aggregate1 = aggregates.AVG default_aggregate2 = aggregates.MIN default_aggregate3 = aggregates.MAX default_aggregate4 = aggregates.SUM default_resolution1 = random.randrange(1000, 60000) default_resolution2 = random.randrange(1000, 60000) default_resolution3 = random.randrange(1000, 60000) default_resolution4 = random.randrange(1000, 60000) unit1 = units.BYTECOUNT unit2 = units.DURATION unit3 = units.NUMBER unit4 = units.PERCENT is_disabled1 = True is_disabled2 = False is_disabled3 = True is_disabled4 = False _type1 = TestUtils.random_string(6) _type2 = TestUtils.random_string(6) _type3 = TestUtils.random_string(6) _type4 = TestUtils.random_string(6) new_metrics = [ Metric(name=name1, display_name=display_name1, display_name_short=display_name_short1, description=description1, default_aggregate=default_aggregate1, default_resolution=default_resolution1, unit=unit1, _type=_type1, is_disabled=is_disabled1), Metric(name=name2, display_name=display_name2, display_name_short=display_name_short2, description=description2, default_aggregate=default_aggregate2, default_resolution=default_resolution2, unit=unit2, _type=_type2, is_disabled=is_disabled2), Metric(name=name3, display_name=display_name3, display_name_short=display_name_short3, description=description3, default_aggregate=default_aggregate3, default_resolution=default_resolution3, unit=unit3, _type=_type3, is_disabled=is_disabled3), Metric(name=name4, display_name=display_name4, display_name_short=display_name_short4, description=description4, default_aggregate=default_aggregate4, default_resolution=default_resolution4, unit=unit4, _type=_type4, is_disabled=is_disabled4) ] metrics = self.api.metric_create_batch(new_metrics) self.assertEqual(4, len(metrics))