50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import boto3
 | |
| import sure  # noqa # pylint: disable=unused-import
 | |
| 
 | |
| from moto import mock_autoscaling, mock_elb, mock_ec2
 | |
| 
 | |
| from .utils import setup_networking
 | |
| from tests import EXAMPLE_AMI_ID
 | |
| 
 | |
| 
 | |
| @mock_autoscaling
 | |
| @mock_ec2
 | |
| @mock_elb
 | |
| 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]
 | |
|     resp.should.have.key("EnabledMetrics").length_of(1)
 | |
|     resp["EnabledMetrics"][0].should.equal(
 | |
|         {"Metric": "GroupMinSize", "Granularity": "1Minute"}
 | |
|     )
 |