def test_get_metric_data(self, mock_get_metric_data, mock_list_secrets, mock_list_servers, *args): server_id_1 = utils.generate_id('server') server_id_2 = utils.generate_id('server') end = datetime.utcnow() start = end - timedelta(days=1) start_ts = int(time.mktime(start.timetuple())) mock_get_metric_data.return_value = { 'labels': [start_ts, start_ts + 3600, start_ts + (3600 * 2), start_ts + (3600 * 3), start_ts + (3600 * 4)], 'values': [1, 2, 3, 4, 5] } mock_list_secrets.return_value = { 'results': [{ 'secret_id': utils.generate_id('secret') }], 'total_count': 1 } mock_list_servers.return_value = { 'results': [{ 'server_id': server_id_1, 'reference': {'resource_id': 'arn:aws:ec2:ap-northeast-2:123456789012:instance/i-1234'}, 'collection_info': {'secrets': [utils.generate_id('secret')]} }, { 'server_id': server_id_2, 'reference': {'resource_id': 'arn:aws:ec2:ap-northeast-2:123456789012:instance/i-4567'}, 'collection_info': {'secrets': [utils.generate_id('secret')]} }], 'total_count': 2 } new_data_source_vo = DataSourceFactory(domain_id=self.domain_id) params = { 'data_source_id': new_data_source_vo.data_source_id, 'resource_type': 'inventory.Server', 'resources': [server_id_1, server_id_2], 'metric': 'cpu', 'start': start.isoformat(), 'end': end.isoformat(), 'domain_id': self.domain_id } self.transaction.method = 'get_data' metric_svc = MetricService(transaction=self.transaction) metrics_data_info = metric_svc.get_data(params.copy()) print_data(metrics_data_info, 'test_get_metric_data') MetricDataInfo(metrics_data_info) self.assertEqual(params['domain_id'], metrics_data_info['domain_id'])
def test_get_metric_data(self, mock_get_metric_data, *args): end = datetime.utcnow() start = end - timedelta(days=1) mock_get_metric_data.return_value = { 'labels': [{ 'seconds': 1586988300 }, { 'seconds': 1586988000 }, { 'seconds': 1586987700 }, { 'seconds': 1586987400 }, { 'seconds': 1586987100 }, { 'seconds': 1586986800 }, { 'seconds': 1586986500 }, { 'seconds': 1586986200 }, { 'seconds': 1586985900 }, { 'seconds': 1586985600 }, { 'seconds': 1586985300 }, { 'seconds': 1586985000 }], 'values': [4.0, 4.0, 4.0, 4.0, 4.4, 4.4, 4.0, 4.0, 6.0, 4.0, 4.0, 4.4] } params = { 'options': {}, 'secret_data': {}, 'resource': 'arn:aws:ec2:ap-northeast-2:072548720675:instance/i-0547704161b1aa823', 'metric': 'CPUUtilization', 'start': start.isoformat(), 'end': end.isoformat() } self.transaction.method = 'get_data' metric_svc = MetricService(transaction=self.transaction) for response in metric_svc.get_data(params.copy()): print_data(response, 'test_get_metric_data') MetricDataInfo(response)
def test_get_metric_data(self, mock_get_metric_data, *args): end = datetime.utcnow() start = end - timedelta(days=1) mock_get_metric_data.return_value = { 'labels': [{ 'seconds': 1586988300 }, { 'seconds': 1586988000 }, { 'seconds': 1586987700 }, { 'seconds': 1586987400 }, { 'seconds': 1586987100 }, { 'seconds': 1586986800 }, { 'seconds': 1586986500 }, { 'seconds': 1586986200 }, { 'seconds': 1586985900 }, { 'seconds': 1586985600 }, { 'seconds': 1586985300 }, { 'seconds': 1586985000 }], 'values': [4.0, 4.0, 4.0, 4.0, 4.4, 4.4, 4.0, 4.0, 6.0, 4.0, 4.0, 4.4] } params = { 'options': {}, 'secret_data': {}, 'resource': 'subscriptions/xxx/resourceGroups/cloudone/providers/Microsoft.Compute/virtualMachines/cloud-vm', 'metric': 'CPUUtilization', 'start': start.isoformat(), 'end': end.isoformat() } self.transaction.method = 'get_data' metric_svc = MetricService(transaction=self.transaction) response = metric_svc.get_data(params.copy()) print_data(response, 'test_get_metric_data') PluginMetricDataResponse(response)
def test_get_metric_data(self, mock_get_metric_data, *args): end = datetime.utcnow() start = end - timedelta(days=1) mock_get_metric_data.return_value = { 'labels': [ {'seconds': 1586988300}, {'seconds': 1586988000}, {'seconds': 1586987700}, {'seconds': 1586987400}, {'seconds': 1586987100}, {'seconds': 1586986800}, {'seconds': 1586986500}, {'seconds': 1586986200}, {'seconds': 1586985900}, {'seconds': 1586985600}, {'seconds': 1586985300}, {'seconds': 1586985000} ], 'values': [4.0, 4.0, 4.0, 4.0, 4.4, 4.4, 4.0, 4.0, 6.0, 4.0, 4.0, 4.4] } params = { 'options': {}, 'secret_data': {}, 'resource': { "namespace": "AWS/EC2", "dimensions": [ { "Name": "InstanceId", "Value": "i-011e8d755568b446b" } ], "region_name": "ap-northeast-2" }, 'metric': 'CPUUtilization', 'start': start.isoformat(), 'end': end.isoformat() } self.transaction.method = 'get_data' metric_svc = MetricService(transaction=self.transaction) response = metric_svc.get_data(params.copy()) print_data(response, 'test_get_metric_data') MetricDataInfo(response)