def test_query_invalid_statistics(self, boto3, config, query_dict, response): query_dict.update({'statistics': 'foo'}) query = CWDataSource.METRIC_QUERY_CLS(**query_dict) cw = CWDataSource(config) with pytest.raises(InvalidMetricQuery): datapoints = cw.datapoints(query)
def test_query_maxdatapoints(self, boto3, config, query_dict): query = CWDataSource.METRIC_QUERY_CLS(**query_dict) cw = CWDataSource(config) datapoints = cw.datapoints(query, maxdatapoints=100) boto3.session.Session.return_value.client.return_value.\ get_metric_statistics.assert_called_with( Namespace='AWS/EC2', MetricName='CPUUtillization', StartTime=datetime.strptime(query.since, '%Y-%m-%dT%H:%M:%S'), EndTime=datetime.strptime(query.until, '%Y-%m-%dT%H:%M:%S'), Period=480, Dimensions=[{'Name': 'AutoScalingGroupName', 'Value': 'foo'}], Statistics=['Average'] )
def test_query_maxdatapoints(self, boto3, config, query_dict): query = CWDataSource.METRIC_QUERY_CLS(**query_dict) cw = CWDataSource(config) datapoints = cw.datapoints(query, maxdatapoints=100) boto3.session.Session.return_value.client.return_value.get_metric_statistics.assert_called_with( Namespace="AWS/EC2", MetricName="CPUUtillization", StartTime=datetime.strptime(query.since, "%Y-%m-%dT%H:%M:%S"), EndTime=datetime.strptime(query.until, "%Y-%m-%dT%H:%M:%S"), Period=480, Dimensions=[{"Name": "AutoScalingGroupName", "Value": "foo"}], Statistics=["Average"], )
def test_query(self, boto3, config, query_dict, response): query = CWDataSource.METRIC_QUERY_CLS(**query_dict) boto3.session.Session.return_value.client.return_value.\ get_metric_statistics.return_value = response cw = CWDataSource(config) datapoints = cw.datapoints(query) assert len(datapoints) == len(response['Datapoints']) for idx, i in enumerate(datapoints): assert i[0] == response['Datapoints'][idx]['Average'] assert i[0] == response['Datapoints'][idx]['Average'] boto3.session.Session.return_value.client.return_value.\ get_metric_statistics.assert_called_with( Namespace='AWS/EC2', MetricName='CPUUtillization', StartTime=datetime.strptime(query.since, '%Y-%m-%dT%H:%M:%S'), EndTime=datetime.strptime(query.until, '%Y-%m-%dT%H:%M:%S'), Period=60, Dimensions=[{'Name': 'AutoScalingGroupName', 'Value': 'foo'}], Statistics=['Average'] )
def test_query(self, boto3, config, query_dict, response): query = CWDataSource.METRIC_QUERY_CLS(**query_dict) boto3.session.Session.return_value.client.return_value.get_metric_statistics.return_value = response cw = CWDataSource(config) datapoints = cw.datapoints(query) assert len(datapoints) == len(response["Datapoints"]) for idx, i in enumerate(datapoints): assert i[0] == response["Datapoints"][idx]["Average"] assert i[0] == response["Datapoints"][idx]["Average"] boto3.session.Session.return_value.client.return_value.get_metric_statistics.assert_called_with( Namespace="AWS/EC2", MetricName="CPUUtillization", StartTime=datetime.strptime(query.since, "%Y-%m-%dT%H:%M:%S"), EndTime=datetime.strptime(query.until, "%Y-%m-%dT%H:%M:%S"), Period=60, Dimensions=[{"Name": "AutoScalingGroupName", "Value": "foo"}], Statistics=["Average"], )
def test_query_invalid_statistics(self, boto3, config, query_dict, response): query_dict.update({"statistics": "foo"}) query = CWDataSource.METRIC_QUERY_CLS(**query_dict) cw = CWDataSource(config) with pytest.raises(InvalidMetricQuery): datapoints = cw.datapoints(query)