def test_desired_equals_healthy_empty(aws_client):
    client = MagicMock()
    aws_client.return_value = client
    asg_names = ['AutoScalingGroup1', 'AutoScalingGroup2']
    client.describe_auto_scaling_groups.return_value = {
        "AutoScalingGroups": []
    }
    assert desired_equals_healthy(asg_names=asg_names) is False
def test_desired_equals_healthy_false(aws_client):
    client = MagicMock()
    aws_client.return_value = client
    asg_names = ['AutoScalingGroup1', 'AutoScalingGroup2']
    client.describe_auto_scaling_groups.return_value = {
        "AutoScalingGroups": [{
            "DesiredCapacity": 1,
            "Instances": [{
                "HealthStatus": "Unhealthy",
                "LifecycleState": "InService"
            }]
        }]
    }
    assert desired_equals_healthy(asg_names=asg_names) is False
def test_desired_equals_healthy_needs_asg_names():
    with pytest.raises(FailedActivity) as x:
        desired_equals_healthy([])
    assert "Non-empty list of auto scaling groups is required" in str(x)