def test_send_event_if_under_replication_critical(): service = 'test_service' instance = 'worker' cluster = 'fake_cluster' crit = 90 expected_count = 100 available = 89 soa_dir = '/dne' with contextlib.nested( mock.patch('paasta_tools.check_marathon_services_replication.send_event', autospec=True), ) as ( mock_send_event, ): check_marathon_services_replication.send_event_if_under_replication( service=service, instance=instance, cluster=cluster, crit_threshold=crit, expected_count=expected_count, num_available=available, soa_dir=soa_dir) mock_send_event.assert_called_once_with( service=service, namespace=instance, cluster=cluster, soa_dir=soa_dir, status=2, output=mock.ANY)
def test_send_event_if_under_replication_critical(instance_config): with mock.patch( 'paasta_tools.check_marathon_services_replication.send_event', autospec=True, ) as mock_send_event: check_marathon_services_replication.send_event_if_under_replication( instance_config=instance_config, expected_count=100, num_available=89, ) mock_send_event.assert_called_once_with( instance_config=instance_config, status=2, output=mock.ANY, ) _, send_event_kwargs = mock_send_event.call_args alert_output = send_event_kwargs["output"] assert ( "{} has 89 out of 100 expected instances available!\n(threshold: 90%)" .format(instance_config.job_id)) in alert_output assert ("paasta status -s {} -i {} -c {} -vv".format( instance_config.service, instance_config.instance, instance_config.cluster, )) in alert_output
def test_send_event_if_under_replication_critical(): service = 'test_service' instance = 'worker' cluster = 'fake_cluster' crit = 90 expected_count = 100 available = 89 soa_dir = '/dne' with contextlib.nested( mock.patch( 'paasta_tools.check_marathon_services_replication.send_event', autospec=True), ) as (mock_send_event, ): check_marathon_services_replication.send_event_if_under_replication( service=service, instance=instance, cluster=cluster, crit_threshold=crit, expected_count=expected_count, num_available=available, soa_dir=soa_dir) mock_send_event.assert_called_once_with(service=service, namespace=instance, cluster=cluster, soa_dir=soa_dir, status=2, output=mock.ANY)
def test_send_event_if_under_replication_good(): service = 'test_service' instance = 'worker' cluster = 'fake_cluster' crit = 90 expected_count = 100 available = 100 soa_dir = '/dne' with mock.patch( 'paasta_tools.check_marathon_services_replication.send_event', autospec=True, ) as mock_send_event, mock.patch( 'paasta_tools.marathon_tools.load_marathon_service_config', autospec=True, ) as mock_load_marathon_service_config: mock_service_job_config = mock.MagicMock( spec_set=MarathonServiceConfig) mock_service_job_config.get_replication_crit_percentage.return_value = crit mock_load_marathon_service_config.return_value = mock_service_job_config check_marathon_services_replication.send_event_if_under_replication( service, instance, cluster, expected_count, available, soa_dir) mock_send_event.assert_called_once_with( service=service, namespace=instance, cluster=cluster, soa_dir=soa_dir, status=0, output=mock.ANY, ) _, send_event_kwargs = mock_send_event.call_args alert_output = send_event_kwargs["output"] assert "test_service.worker has 100 out of 100 expected instances available!\n(threshold: 90%)" in alert_output
def test_send_event_if_under_replication_good(): service = 'test_service' instance = 'worker' cluster = 'fake_cluster' crit = 90 expected_count = 100 available = 100 soa_dir = '/dne' with contextlib.nested( mock.patch('paasta_tools.check_marathon_services_replication.send_event', autospec=True), mock.patch('paasta_tools.marathon_tools.load_marathon_service_config', autospec=True), ) as ( mock_send_event, mock_load_marathon_service_config, ): mock_service_job_config = mock.MagicMock(spec_set=MarathonServiceConfig) mock_service_job_config.get_replication_crit_percentage.return_value = crit mock_load_marathon_service_config.return_value = mock_service_job_config check_marathon_services_replication.send_event_if_under_replication( service, instance, cluster, expected_count, available, soa_dir) mock_send_event.assert_called_once_with( service=service, namespace=instance, cluster=cluster, soa_dir=soa_dir, status=0, output=mock.ANY, ) _, send_event_kwargs = mock_send_event.call_args alert_output = send_event_kwargs["output"] assert "test_service.worker has 100 out of 100 expected instances available!\n(threshold: 90%)" in alert_output
def test_send_event_if_under_replication_critical(): service = 'test_service' instance = 'worker' cluster = 'fake_cluster' crit = 90 expected_count = 100 available = 89 soa_dir = '/dne' with contextlib.nested( mock.patch('paasta_tools.check_marathon_services_replication.send_event', autospec=True), mock.patch('paasta_tools.marathon_tools.load_marathon_service_config', autospec=True), ) as ( mock_send_event, mock_load_marathon_service_config, ): mock_service_job_config = mock.MagicMock(spec_set=MarathonServiceConfig) mock_service_job_config.get_replication_crit_percentage.return_value = crit mock_load_marathon_service_config.return_value = mock_service_job_config check_marathon_services_replication.send_event_if_under_replication( service=service, instance=instance, cluster=cluster, expected_count=expected_count, num_available=available, soa_dir=soa_dir) mock_send_event.assert_called_once_with( service=service, namespace=instance, cluster=cluster, soa_dir=soa_dir, status=2, output=mock.ANY)
def test_send_event_if_under_replication_critical(): service = "test_service" instance = "worker" cluster = "fake_cluster" crit = 90 expected_count = 100 available = 89 soa_dir = "/dne" with contextlib.nested( mock.patch("paasta_tools.check_marathon_services_replication.send_event", autospec=True), mock.patch("paasta_tools.marathon_tools.load_marathon_service_config", autospec=True), ) as (mock_send_event, mock_load_marathon_service_config): mock_service_job_config = mock.MagicMock(spec_set=MarathonServiceConfig) mock_service_job_config.get_replication_crit_percentage.return_value = crit mock_load_marathon_service_config.return_value = mock_service_job_config check_marathon_services_replication.send_event_if_under_replication( service=service, instance=instance, cluster=cluster, expected_count=expected_count, num_available=available, soa_dir=soa_dir, ) mock_send_event.assert_called_once_with( service=service, namespace=instance, cluster=cluster, soa_dir=soa_dir, status=2, output=mock.ANY ) _, send_event_kwargs = mock_send_event.call_args alert_output = send_event_kwargs["output"] assert "test_service.worker has 89 out of 100 expected instances available!\n(threshold: 90%)" in alert_output assert "paasta status -s test_service -i worker -c fake_cluster -vv" in alert_output
def test_send_event_if_under_replication_handles_0_expected(instance_config): with mock.patch( 'paasta_tools.check_marathon_services_replication.send_event', autospec=True, ) as mock_send_event: check_marathon_services_replication.send_event_if_under_replication( instance_config=instance_config, expected_count=0, num_available=0, ) mock_send_event.assert_called_once_with( instance_config=instance_config, status=0, output=mock.ANY, ) _, send_event_kwargs = mock_send_event.call_args alert_output = send_event_kwargs["output"] assert ("{} has 0 out of 0 expected instances available!\n(threshold: 90%)" .format(instance_config.job_id)) in alert_output