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"} | ||
|  |     ) |