def test_format_chronos_job_command(): example_job = {'command': 'do the hokey pokey', 'schedule': 'foo'} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert example_job['command'] in actual
def test_format_chronos_job_one_mesos_task(): example_job = {'schedule': 'foo'} running_tasks = ['slay the nemean lion'] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.yellow('Running') in actual
def test_format_chronos_job_zero_mesos_tasks(): example_job = {'schedule': 'foo'} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.grey('Not running') in actual
def test_format_chronos_job_two_mesos_tasks(): example_job = {'schedule': 'foo'} running_tasks = ['slay the nemean lion', 'slay the lernaean hydra'] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert 'Critical' in actual
def test_format_chronos_job_mesos_verbose(verbosity_level): example_job = { 'name': 'my_service my_instance', 'schedule': 'foo', } running_tasks = ['slay the nemean lion'] expected_tail_lines = { 1: 0, 2: 10, 3: 100, }[verbosity_level] mock_client = mock.Mock() with mock.patch( 'paasta_tools.chronos_serviceinit.status_mesos_tasks_verbose', autospec=True, return_value='status_mesos_tasks_verbose output', ) as mock_status_mesos_tasks_verbose, mock.patch( 'paasta_tools.chronos_tools.get_chronos_status_for_job', autospec=True, ): actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbosity_level) mock_status_mesos_tasks_verbose.assert_called_once_with( filter_string=example_job['name'], get_short_task_id=chronos_serviceinit.get_short_task_id, tail_lines=expected_tail_lines, ) assert 'status_mesos_tasks_verbose output' in actual
def test_format_chronos_job_schedule(): example_job = {"schedule": "R/2015-04-20T23:20:00+00:00/PT60M", "epsilon": "PT42S", "schedule": "foo"} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job["schedule"] in actual assert example_job["epsilon"] in actual
def test_format_chronos_job_status_enabled(): example_job = {'disabled': False, 'schedule': 'foo'} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.green('Scheduled') in actual
def test_format_chronos_job_name_does_not_exist(): example_job = {'schedule': 'foo'} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.red('UNKNOWN') in actual
def test_format_chronos_job_zero_mesos_tasks(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.grey('Not running') in actual
def test_format_chronos_job_one_mesos_task(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = ['slay the nemean lion'] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.yellow('Running') in actual
def test_format_chronos_job_status_no_last_run(): example_job = {"lastError": "", "lastSuccess": "", "schedule": "foo"} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.yellow("New") in actual assert "(never)" in actual
def test_format_chronos_job_two_mesos_tasks(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = ['slay the nemean lion', 'slay the lernaean hydra'] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert 'Critical' in actual
def test_format_chronos_job_mesos_verbose(verbosity_level): example_job = { 'name': 'my_service my_instance', 'schedule': 'foo', } running_tasks = ['slay the nemean lion'] if verbosity_level == 1: expected_tail_lines = 0 elif verbosity_level == 2: expected_tail_lines = 10 elif verbosity_level == 3: expected_tail_lines = 100 mock_client = mock.Mock() with contextlib.nested( mock.patch('paasta_tools.chronos_serviceinit.status_mesos_tasks_verbose', autospec=True, return_value='status_mesos_tasks_verbose output'), mock.patch('paasta_tools.chronos_tools.get_chronos_status_for_job'), ) as ( mock_status_mesos_tasks_verbose, mock_chronos_status_for_job, ): actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbosity_level) mock_status_mesos_tasks_verbose.assert_called_once_with( job_id=example_job['name'], get_short_task_id=chronos_serviceinit.get_short_task_id, tail_lines=expected_tail_lines, ) assert 'status_mesos_tasks_verbose output' in actual
def test_format_chronos_job_one_mesos_task(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = ['slay the nemean lion'] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.yellow('Running') in actual
def test_format_chronos_job_zero_mesos_tasks(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.grey('Not running') in actual
def test_format_chronos_job_two_mesos_tasks(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = ['slay the nemean lion', 'slay the lernaean hydra'] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert 'Critical' in actual
def test_format_chronos_job_mesos_verbose(verbosity_level): example_job = { 'name': 'my_service my_instance', 'schedule': 'foo', } running_tasks = ['slay the nemean lion'] if verbosity_level == 1: expected_tail_lines = 0 elif verbosity_level == 2: expected_tail_lines = 10 elif verbosity_level == 3: expected_tail_lines = 100 mock_client = mock.Mock() with contextlib.nested( mock.patch('paasta_tools.chronos_serviceinit.status_mesos_tasks_verbose', autospec=True, return_value='status_mesos_tasks_verbose output'), mock.patch('paasta_tools.chronos_tools.get_chronos_status_for_job', autospec=True), ) as ( mock_status_mesos_tasks_verbose, mock_chronos_status_for_job, ): actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbosity_level) mock_status_mesos_tasks_verbose.assert_called_once_with( job_id=example_job['name'], get_short_task_id=chronos_serviceinit.get_short_task_id, tail_lines=expected_tail_lines, ) assert 'status_mesos_tasks_verbose output' in actual
def test_format_chronos_job_status_enabled(): example_job = { 'disabled': False, } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.green('Scheduled') in actual
def test_format_chronos_job_one_mesos_task(mock_status): example_job = {"name": "my_service my_instance", "schedule": "foo"} running_tasks = ["slay the nemean lion"] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert PaastaColors.yellow("Running") in actual
def test_format_chronos_job_name_exists(mock_status): example_job = {"name": "my_service my_instance", "schedule": "foo"} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert example_job["name"] in actual
def test_format_chronos_job_name_does_not_exist(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert PaastaColors.red('UNKNOWN') in actual
def test_format_chronos_job_status_no_last_run(): example_job = {'lastError': '', 'lastSuccess': '', 'schedule': 'foo'} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.yellow('New') in actual assert '(never)' in actual
def test_format_chronos_job_status_success_no_failure(): example_job = {"lastError": "", "lastSuccess": "2015-04-20T23:20:00.420Z", "schedule": "foo"} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.green("OK") in actual assert "(2015-04-20" in actual assert "ago)" in actual
def test_format_chronos_job_name_exists(): example_job = { 'name': 'my_service my_instance gityourmom configyourdad', } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job['name'] in actual
def test_format_chronos_job_name_does_not_exist(mock_status): example_job = {"name": "my_service my_instance", "schedule": "foo"} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert PaastaColors.red("UNKNOWN") in actual
def test_format_chronos_job_zero_mesos_tasks(mock_status): example_job = {"name": "my_service my_instance", "schedule": "foo"} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert PaastaColors.grey("Not running") in actual
def test_format_chronos_job_command(): example_job = { 'command': 'do the hokey pokey', } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job['command'] in actual
def test_format_chronos_job_name_exists(mock_status): example_job = {'name': 'my_service my_instance', 'schedule': 'foo'} running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert example_job['name'] in actual
def test_format_chronos_job_name_does_not_exist(): example_job = { 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.red('UNKNOWN') in actual
def test_format_chronos_job_status_disabled(): example_job = { 'disabled': True, } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.grey('Not scheduled') in actual
def test_format_chronos_job_status_disabled(): example_job = { 'disabled': True, 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.grey('Not scheduled') in actual
def test_format_chronos_job_temp_job(): example_job = { 'name': '%s my_service my_instance' % chronos_tools.TMP_JOB_IDENTIFIER, 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert 'Job: tmp my_service my_instance (Launched by paasta rerun)' in actual
def test_format_chronos_job_name_exists(): example_job = { 'name': 'my_service my_instance gityourmom configyourdad', 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job['name'] in actual
def test_format_chronos_job_schedule(): example_job = { 'schedule': 'R/2015-04-20T23:20:00+00:00/PT60M', 'epsilon': 'PT42S', } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job['schedule'] in actual assert example_job['epsilon'] in actual
def test_format_chronos_job_status_no_last_run(): example_job = { 'lastError': '', 'lastSuccess': '', } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.yellow('New') in actual assert '(never)' in actual
def test_format_chronos_job_name_does_not_exist(mock_status): example_job = { 'name': 'my_service my_instance', 'schedule': 'foo' } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.red('UNKNOWN') in actual
def test_format_chronos_job_name_exists(mock_status): example_job = { 'name': 'my_service my_instance', 'schedule': 'foo' } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert example_job['name'] in actual
def test_format_chronos_job_status_enabled(mock_status): example_job = { 'name': 'my_service my_instance', 'disabled': False, 'schedule': 'foo' } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.green('Scheduled') in actual
def test_format_chronos_job_temp_job(mock_status): example_job = { "name": "%s my_service my_instance" % chronos_tools.TMP_JOB_IDENTIFIER, "schedule": "foo", } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert "Job: tmp my_service my_instance (Launched by paasta rerun)" in actual
def test_format_chronos_job_schedule(): example_job = { 'schedule': 'R/2015-04-20T23:20:00+00:00/PT60M', 'epsilon': 'PT42S', 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job['schedule'] in actual assert example_job['epsilon'] in actual
def test_format_chronos_job_status_success_and_then_failure(): example_job = { 'lastError': '2015-04-21T23:20:00.420Z', 'lastSuccess': '2015-04-20T23:20:00.420Z', } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.red('Failed') in actual assert '(2015-04-21' in actual assert 'ago)' in actual
def test_format_chronos_job_status_enabled(mock_status): example_job = { 'name': 'my_service my_instance', 'disabled': False, 'schedule': 'foo' } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.green('Scheduled') in actual
def test_format_chronos_job_schedule(mock_status): example_job = { 'name': 'my_service my_instance', 'schedule': 'R/2015-04-20T23:20:00+00:00/PT60M', 'epsilon': 'PT42S', } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert example_job['schedule'] in actual assert example_job['epsilon'] in actual
def test_format_chronos_job_status_success_no_failure(): example_job = { 'lastError': '', 'lastSuccess': '2015-04-20T23:20:00.420Z', 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.green('OK') in actual assert '(2015-04-20' in actual assert 'ago)' in actual
def test_format_chronos_job_schedule(mock_status): example_job = { 'name': 'my_service my_instance', 'schedule': 'R/2015-04-20T23:20:00+00:00/PT60M', 'epsilon': 'PT42S', } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert example_job['schedule'] in actual assert example_job['epsilon'] in actual
def test_format_chronos_job_status_success_no_failure(): example_job = { 'lastError': '', 'lastSuccess': '2015-04-20T23:20:00.420Z', } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status( example_job, running_tasks, verbose) assert PaastaColors.green('OK') in actual assert '(2015-04-20' in actual assert 'ago)' in actual
def test_format_chronos_job_chronos_status(mock_status): example_job = { "name": "my_service my_instance", "disabled": True, "schedule": "foo", } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert PaastaColors.grey("fake_chronos_status") in actual
def test_format_chronos_job_command(mock_status): example_job = { "name": "my_service my_instance", "command": "do the hokey pokey", "schedule": "foo", } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert example_job["command"] in actual
def test_format_chronos_job_mesos_verbose(): example_job = {"name": "my_service my_instance gityourmom configyourdad", "schedule": "foo"} running_tasks = ["slay the nemean lion"] verbose = True with mock.patch( "paasta_tools.chronos_serviceinit.status_mesos_tasks_verbose", autospec=True, return_value="status_mesos_tasks_verbose output", ) as mock_status_mesos_tasks_verbose: actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) mock_status_mesos_tasks_verbose.assert_called_once_with(example_job["name"], chronos_serviceinit.get_short_task_id) assert "status_mesos_tasks_verbose output" in actual
def test_format_chronos_job_status_success_and_then_failure(): example_job = { 'lastError': '2015-04-21T23:20:00.420Z', 'lastSuccess': '2015-04-20T23:20:00.420Z', 'schedule': 'foo' } running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.red('Failed') in actual assert '(2015-04-21' in actual assert 'ago)' in actual
def test_format_chronos_job_command(mock_status): example_job = { 'name': 'my_service my_instance', 'command': 'do the hokey pokey', 'schedule': 'foo', } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status( mock_client, example_job, running_tasks, verbose) assert example_job['command'] in actual
def test_format_chronos_job_status_no_last_run(mock_status): example_job = { 'name': 'my_service my_instance', 'lastError': '', 'lastSuccess': '', 'schedule': 'foo' } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.yellow('New') in actual assert '(never)' in actual
def test_format_chronos_job_mesos_verbose(): example_job = { 'name': 'my_service my_instance gityourmom configyourdad', } running_tasks = ['slay the nemean lion'] verbose = True with mock.patch( 'paasta_tools.chronos_serviceinit.status_mesos_tasks_verbose', autospec=True, return_value='status_mesos_tasks_verbose output', ) as mock_status_mesos_tasks_verbose: actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) mock_status_mesos_tasks_verbose.assert_called_once_with(example_job['name'], chronos_serviceinit.get_short_task_id) assert 'status_mesos_tasks_verbose output' in actual
def test_format_chronos_job_status_success_and_then_failure(mock_status): example_job = { 'name': 'my_service my_instance', 'lastError': '2015-04-21T23:20:00.420Z', 'lastSuccess': '2015-04-20T23:20:00.420Z', 'schedule': 'foo' } running_tasks = [] verbose = False mock_client = mock.Mock() actual = chronos_serviceinit.format_chronos_job_status(mock_client, example_job, running_tasks, verbose) assert PaastaColors.red('Failed') in actual assert '(2015-04-21' in actual assert 'ago)' in actual
def test_format_chronos_job_two_mesos_tasks(): example_job = {'schedule': 'foo'} running_tasks = ['slay the nemean lion', 'slay the lernaean hydra'] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert 'Critical' in actual
def test_format_chronos_job_zero_mesos_tasks(): example_job = {'schedule': 'foo'} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.grey('Not running') in actual
def test_format_chronos_job_name_exists(): example_job = {"name": "my_service my_instance gityourmom configyourdad", "schedule": "foo"} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert example_job["name"] in actual
def test_format_chronos_job_status_disabled(): example_job = {"disabled": True, "schedule": "foo"} running_tasks = [] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.grey("Not scheduled") in actual
def test_format_chronos_job_one_mesos_task(): example_job = {'schedule': 'foo'} running_tasks = ['slay the nemean lion'] verbose = False actual = chronos_serviceinit.format_chronos_job_status(example_job, running_tasks, verbose) assert PaastaColors.yellow('Running') in actual