def test_compose_timeout_message():
    clusters_data = []
    clusters_data.append(
        mark_for_deployment.ClusterData(cluster='cluster1',
                                        service='someservice',
                                        git_sha='somesha',
                                        instances_queue=Queue()))
    clusters_data[0].instances_queue.put('instance1')
    clusters_data[0].instances_queue.put('instance2')
    clusters_data.append(
        mark_for_deployment.ClusterData(cluster='cluster2',
                                        service='someservice',
                                        git_sha='somesha',
                                        instances_queue=Queue()))
    clusters_data[1].instances_queue.put('instance3')
    clusters_data.append(
        mark_for_deployment.ClusterData(cluster='cluster3',
                                        service='someservice',
                                        git_sha='somesha',
                                        instances_queue=Queue()))
    message = mark_for_deployment.compose_timeout_message(
        clusters_data, 1, 'fake_group', 'someservice', 'some_git_sha')
    assert '  paasta status -c cluster1 -s someservice -i instance1,instance2' in message
    assert '  paasta status -c cluster2 -s someservice -i instance3' in message
    assert '  paasta logs -c cluster1 -s someservice -i instance1,instance2 -C deploy -l 1000' in message
    assert '  paasta logs -c cluster2 -s someservice -i instance3 -C deploy -l 1000' in message
Example #2
0
def test_compose_timeout_message():
    clusters_data = []
    clusters_data.append(
        mark_for_deployment.ClusterData(
            cluster="cluster1",
            service="someservice",
            git_sha="somesha",
            instances_queue=Queue(),
        ))
    clusters_data[0].instances_queue.put(
        mock_marathon_instance_config("instance1"))
    clusters_data[0].instances_queue.put(
        mock_marathon_instance_config("instance2"))
    clusters_data.append(
        mark_for_deployment.ClusterData(
            cluster="cluster2",
            service="someservice",
            git_sha="somesha",
            instances_queue=Queue(),
        ))
    clusters_data[1].instances_queue.put(
        mock_marathon_instance_config("instance3"))
    clusters_data.append(
        mark_for_deployment.ClusterData(
            cluster="cluster3",
            service="someservice",
            git_sha="somesha",
            instances_queue=Queue(),
        ))
    message = mark_for_deployment.compose_timeout_message(
        clusters_data, 1, "fake_group", "someservice", "some_git_sha")
    assert ("  paasta status -c cluster1 -s someservice -i instance1,instance2"
            in message)
    assert "  paasta status -c cluster2 -s someservice -i instance3" in message
    assert (
        "  paasta logs -c cluster1 -s someservice -i instance1,instance2 -C deploy -l 1000"
        in message)
    assert (
        "  paasta logs -c cluster2 -s someservice -i instance3 -C deploy -l 1000"
        in message)
Example #3
0
def test_instances_deployed(mock_get_paasta_api_client, mock__log):
    mock_paasta_api_client = Mock()
    mock_get_paasta_api_client.return_value = mock_paasta_api_client
    mock_paasta_api_client.service.status_instance.side_effect = \
        mock_status_instance_side_effect

    f = mark_for_deployment.instances_deployed
    e = Event()
    e.set()
    cluster_data = mark_for_deployment.ClusterData(
        cluster='cluster',
        service='service1',
        git_sha='somesha',
        instances_queue=Queue(),
    )
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance1'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance1'))
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance2'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == 'instance2'

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put('instance3')
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance4'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance4.1'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance5'))
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance1'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance6'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == 'instance6'

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('notaninstance'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == 'notaninstance'

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('api_error'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == 'api_error'

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance7'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config('instance8'))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()
Example #4
0
def test_instances_deployed(mock_get_paasta_api_client, mock__log):
    mock_paasta_api_client = Mock()
    mock_get_paasta_api_client.return_value = mock_paasta_api_client
    mock_paasta_api_client.service.status_instance.side_effect = (
        mock_status_instance_side_effect)

    f = mark_for_deployment.instances_deployed
    e = Event()
    e.set()
    cluster_data = mark_for_deployment.ClusterData(
        cluster="cluster",
        service="service1",
        git_sha="somesha",
        instances_queue=Queue(),
    )
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance1"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance1"))
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance2"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == "instance2"

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put("instance3")
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance4"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance4.1"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance5"))
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance1"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance6"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == "instance6"

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("notaninstance"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == "notaninstance"

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("api_error"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.get(block=False).get_instance() == "api_error"

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance7"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()

    cluster_data.instances_queue = Queue()
    cluster_data.instances_queue.put(
        mock_marathon_instance_config("instance8"))
    instances_out = Queue()
    f(cluster_data, instances_out, e)
    assert cluster_data.instances_queue.empty()
    assert instances_out.empty()