def test_format_chronos_job_one_mesos_task():
    example_job = {}
    desired_state = ''
    running_tasks = ['slay the nemean lion']
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert PaastaColors.yellow('Running') in actual
def test_format_chronos_job_two_mesos_tasks():
    example_job = {}
    desired_state = ''
    running_tasks = ['slay the nemean lion', 'slay the lernaean hydra']
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert 'Critical' in actual
def test_format_chronos_job_zero_mesos_tasks():
    example_job = {}
    desired_state = ''
    running_tasks = []
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert PaastaColors.grey('Not running') in actual
def test_format_chronos_job_status_desired_state_passed_through():
    example_job = {}
    desired_state = 'stopped (or started)'
    running_tasks = []
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert desired_state in actual
def test_format_chronos_job_name_does_not_exist():
    example_job = {}
    desired_state = ''
    running_tasks = []
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert PaastaColors.red('UNKNOWN') in actual
示例#6
0
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
示例#7
0
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
示例#8
0
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_status_disabled():
    example_job = {
        'disabled': True,
    }
    desired_state = ''
    running_tasks = []
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert PaastaColors.red('Disabled') in actual
示例#10
0
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
示例#11
0
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
示例#12
0
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_failure_and_then_success():
    example_job = {
        'lastError': '2015-04-20T23:20:00.420Z',
        'lastSuccess': '2015-04-21T23:20:00.420Z',
    }
    desired_state = ''
    running_tasks = []
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    assert PaastaColors.green('OK') in actual
    assert '(2015-04-21' in actual
    assert 'ago)' in actual
示例#14
0
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(
        '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_name_exists():
    example_job = {
        'name': 'my_service my_instance gityourmom configyourdad',
    }
    desired_state = ''
    running_tasks = []
    verbose = False
    actual = chronos_serviceinit.format_chronos_job_status(example_job, desired_state, running_tasks, verbose)
    # Includes only the 'tag' portion of the name, not the service and instance
    # (as these are unnecessary and would just add clutter).
    assert 'my_service' not in actual
    assert 'my_instance' not in actual
    assert 'gityourmom' not in actual
    assert 'configyourdad' in actual