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
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)
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()
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()