import boto3 from moto import mock_aws from tests import EXAMPLE_AMI_ID from .utils import setup_networking @mock_aws def test_enable_metrics_collection(): mocked_networking = setup_networking() elb_client = boto3.client("elb", region_name="us-east-1") elb_client.create_load_balancer( LoadBalancerName="test_lb", Listeners=[{"Protocol": "http", "LoadBalancerPort": 80, "InstancePort": 8080}], AvailabilityZones=[], ) as_client = boto3.client("autoscaling", region_name="us-east-1") as_client.create_launch_configuration( LaunchConfigurationName="tester_config", ImageId=EXAMPLE_AMI_ID, InstanceType="t2.medium", ) as_client.create_auto_scaling_group( AutoScalingGroupName="tester_group", LaunchConfigurationName="tester_config", MinSize=2, MaxSize=2, VPCZoneIdentifier=mocked_networking["subnet1"], ) as_client.enable_metrics_collection( AutoScalingGroupName="tester_group", Metrics=["GroupMinSize"], Granularity="1Minute", ) resp = as_client.describe_auto_scaling_groups( AutoScalingGroupNames=["tester_group"] )["AutoScalingGroups"][0] assert len(resp["EnabledMetrics"]) == 1 assert resp["EnabledMetrics"][0] == { "Metric": "GroupMinSize", "Granularity": "1Minute", }