def test_wait_desired_equals_healthy_true(aws_client): client = MagicMock() aws_client.return_value = client asg_names = ['AutoScalingGroup1'] client.describe_auto_scaling_groups.return_value = { "AutoScalingGroups": [{ "DesiredCapacity": 1, "Instances": [{ "HealthStatus": "Healthy", "LifecycleState": "InService" }] }] } assert wait_desired_equals_healthy( asg_names=asg_names, timeout=0.1) in [0, 2]
def test_wait_desired_equals_healthy_timeout(aws_client): client = MagicMock() aws_client.return_value = client asg_names = ['AutoScalingGroup1'] client.describe_auto_scaling_groups.response = [{ "AutoScalingGroups": [{ "DesiredCapacity": 1, "Instances": [{ "HealthStatus": "Unhealthy", "LifecycleState": "Initializing" }] }] }] assert wait_desired_equals_healthy(asg_names=asg_names, timeout=0) is maxsize
def test_wait_desired_equals_healthy_asg_names(): with pytest.raises(FailedActivity) as x: wait_desired_equals_healthy([]) assert "Non-empty list of auto scaling groups is required" in str(x)