def test_instance_unhealthy_count_names(aws_client): client = MagicMock() aws_client.return_value = client asg_names = ['AutoScalingGroup-A'] client.describe_auto_scaling_groups.return_value = { "AutoScalingGroups": [{ "AutoScalingGroupName": "AutoScalingGroup-A", "Instances": [ { "InstanceId": "i-012345678901", "HealthStatus": "Healthy" }, { "InstanceId": "i-012345678902", "HealthStatus": "Healthy" }, { "InstanceId": "i-012345678903", "HealthStatus": "Unhealthy" } ]}]} response = instance_count_by_health(asg_names, count_healthy=False) client.describe_auto_scaling_groups.assert_called_with( AutoScalingGroupNames=asg_names) assert response == 1
def test_instance_unhealthy_count_tags(aws_client): client = MagicMock() aws_client.return_value = client tags = [{"Key": "TestKey", "Value": "TestValue"}] client.get_paginator.return_value.paginate.return_value = [ { "Tags": [ { "ResourceId": "AutoScalingGroup-A", "ResourceType": "auto-scaling-group", "Key": "TestKey", "Value": "TestValue", } ] } ] client.describe_auto_scaling_groups.return_value = { "AutoScalingGroups": [ { "AutoScalingGroupName": "AutoScalingGroup-A", "Instances": [ {"InstanceId": "i-012345678901", "HealthStatus": "Healthy"}, {"InstanceId": "i-012345678902", "HealthStatus": "Healthy"}, {"InstanceId": "i-012345678903", "HealthStatus": "Unhealthy"}, ], "Tags": [ { "ResourceId": "AutoScalingGroup-A", "Key": "TestKey", "Value": "TestValue", } ], } ] } response = instance_count_by_health(tags=tags, count_healthy=False) client.get_paginator.return_value.paginate.assert_called_with( Filters=[{"Name": "TestKey", "Values": ["TestValue"]}] ) client.describe_auto_scaling_groups.assert_called_with( AutoScalingGroupNames=["AutoScalingGroup-A"] ) assert response == 1