def test_are_all_tasks_running_exception(aws_client):
    client = MagicMock()
    client.describe_services = MagicMock(return_value={'services': []})
    aws_client.return_value = client
    cluster = 'ecs-cluster'
    service = 'MyGenericService'
    with pytest.raises(FailedActivity) as e:
        are_all_desired_tasks_running(cluster, service)
    client.describe_services.assert_called_with(cluster=cluster,
                                                services=[service])
    assert 'Error retrieving service data from AWS' in str(e.value)
def test_are_all_tasks_running_false(aws_client):
    client = MagicMock()
    client.describe_services = MagicMock(
        return_value={
            'services': [{
                'serviceName': 'MyGenericService',
                'desiredCount': 3,
                'runningCount': 2
            }]
        })
    aws_client.return_value = client
    cluster = 'ecs-cluster'
    service = 'MyGenericService'
    response = are_all_desired_tasks_running(cluster, service)
    client.describe_services.assert_called_with(cluster=cluster,
                                                services=[service])
    assert not response
def test_are_all_tasks_running_false(aws_client):
    client = MagicMock()
    client.describe_services = MagicMock(
        return_value={
            "services": [{
                "serviceName": "MyGenericService",
                "desiredCount": 3,
                "runningCount": 2,
            }]
        })
    aws_client.return_value = client
    cluster = "ecs-cluster"
    service = "MyGenericService"
    response = are_all_desired_tasks_running(cluster, service)
    client.describe_services.assert_called_with(cluster=cluster,
                                                services=[service])
    assert not response