Esempio n. 1
0
def test_log_run_dir(start_stop_cli, project_without_dependencies):
    project = project_without_dependencies
    cli = start_stop_cli

    patch_init_to_log_lines(project, LOG_LINES)

    INSTANCE1 = 'instance-1'
    INSTANCE2 = 'instance-2'

    ID1 = project.get_instance_id(INSTANCE1)
    ID2 = project.get_instance_id(INSTANCE2)

    RUN_DIR = 'my-run-dir'

    write_conf(project.get_cfg_path(), {
        ID1: {},
        ID2: {},
    })

    # start instance-1 and instance-2
    cli.start(project, run_dir=RUN_DIR, daemonized=True)
    check_instances_running(cli,
                            project, [INSTANCE1, INSTANCE2],
                            run_dir=RUN_DIR,
                            daemonized=True)

    # get logs
    logs = cli.get_logs(project, run_dir=RUN_DIR)
    assert len(logs) == 2
    assert_instance_logs(logs, ID1, LOG_LINES)
    assert_instance_logs(logs, ID2, LOG_LINES)
Esempio n. 2
0
def test_log_last_n_lines(start_stop_cli, project_with_patched_init):
    project = project_with_patched_init
    cli = start_stop_cli

    log_lines = ["I am log line number {}".format(i) for i in range(DEFAULT_LAST_N_LINES+5)]

    patch_init_to_log_lines(project, log_lines)

    INSTANCE1 = 'instance-1'
    INSTANCE2 = 'instance-2'

    ID1 = get_instance_id(project.name, INSTANCE1)
    ID2 = get_instance_id(project.name, INSTANCE2)
    STATEBOARD_ID = get_stateboard_name(project.name)

    # start instance-1 and instance-2
    cli.start(project, [INSTANCE1, INSTANCE2], stateboard=True, daemonized=True)
    check_instances_running(cli, project, [INSTANCE1, INSTANCE2], stateboard=True, daemonized=True)

    # get logs w/o -n
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, log_lines[-DEFAULT_LAST_N_LINES:])
    assert_instance_logs(logs, ID2, log_lines[-DEFAULT_LAST_N_LINES:])
    assert_instance_logs(logs, STATEBOARD_ID, log_lines[-DEFAULT_LAST_N_LINES:])

    # get logs w/ -n > log lines count
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True, n=len(log_lines)*2)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, log_lines)
    assert_instance_logs(logs, ID2, log_lines)
    assert_instance_logs(logs, STATEBOARD_ID, log_lines)

    # get logs w/ -n0
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True, n=0)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, log_lines)
    assert_instance_logs(logs, ID2, log_lines)
    assert_instance_logs(logs, STATEBOARD_ID, log_lines)

    # get logs w/ -n1
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True, n=1)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, log_lines[-1:])
    assert_instance_logs(logs, ID2, log_lines[-1:])
    assert_instance_logs(logs, STATEBOARD_ID, log_lines[-1:])

    # get logs w/ -n5
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True, n=5)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, log_lines[-5:])
    assert_instance_logs(logs, ID2, log_lines[-5:])
    assert_instance_logs(logs, STATEBOARD_ID, log_lines[-5:])

    # get logs w/ -n -5
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True, n=5)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, log_lines[-5:])
    assert_instance_logs(logs, ID2, log_lines[-5:])
    assert_instance_logs(logs, STATEBOARD_ID, log_lines[-5:])
Esempio n. 3
0
def test_log_by_name(start_stop_cli, project_with_patched_init):
    project = project_with_patched_init
    cli = start_stop_cli

    patch_init_to_log_lines(project, LOG_LINES)

    INSTANCE1 = 'instance-1'
    INSTANCE2 = 'instance-2'

    ID1 = get_instance_id(project.name, INSTANCE1)
    ID2 = get_instance_id(project.name, INSTANCE2)
    STATEBOARD_ID = get_stateboard_name(project.name)

    # start instance-1 and instance-2
    cli.start(project, [INSTANCE1, INSTANCE2], stateboard=True, daemonized=True)
    check_instances_running(cli, project, [INSTANCE1, INSTANCE2], stateboard=True, daemonized=True)

    # get logs w/o stateboard
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2])
    assert len(logs) == 2
    assert_instance_logs(logs, ID1, LOG_LINES)
    assert_instance_logs(logs, ID2, LOG_LINES)

    # get logs w/ stateboard
    logs = cli.get_logs(project, [INSTANCE1, INSTANCE2], stateboard=True)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, LOG_LINES)
    assert_instance_logs(logs, ID2, LOG_LINES)
    assert_instance_logs(logs, STATEBOARD_ID, LOG_LINES)

    # get logs stateboard-only
    logs = cli.get_logs(project, stateboard_only=True)
    assert len(logs) == 1
    assert_instance_logs(logs, STATEBOARD_ID, LOG_LINES)
Esempio n. 4
0
def test_log_run_dir(start_stop_cli, project_with_patched_init):
    project = project_with_patched_init
    cli = start_stop_cli

    patch_init_to_log_lines(project, LOG_LINES)

    INSTANCE1 = 'instance-1'
    INSTANCE2 = 'instance-2'

    ID1 = get_instance_id(project.name, INSTANCE1)
    ID2 = get_instance_id(project.name, INSTANCE2)

    RUN_DIR = 'my-log-dir'

    write_conf(os.path.join(project.path, DEFAULT_CFG), {
        ID1: {},
        ID2: {},
    })

    # start instance-1 and instance-2
    cli.start(project, run_dir=RUN_DIR, daemonized=True)
    check_instances_running(cli, project, [INSTANCE1, INSTANCE2], run_dir=RUN_DIR, daemonized=True)

    # get logs
    logs = cli.get_logs(project, run_dir=RUN_DIR)
    assert len(logs) == 2
    assert_instance_logs(logs, ID1, LOG_LINES)
    assert_instance_logs(logs, ID2, LOG_LINES)
Esempio n. 5
0
def test_log_from_conf(start_stop_cli, project_without_dependencies):
    project = project_without_dependencies
    cli = start_stop_cli

    patch_init_to_log_lines(project, LOG_LINES)

    INSTANCE1 = 'instance-1'
    INSTANCE2 = 'instance-2'

    ID1 = project.get_instance_id(INSTANCE1)
    ID2 = project.get_instance_id(INSTANCE2)
    STATEBOARD_ID = project.get_stateboard_id()

    write_conf(project.get_cfg_path(), {
        ID1: {},
        ID2: {},
    })

    # start instance-1 and instance-2
    cli.start(project, [INSTANCE1, INSTANCE2],
              stateboard=True,
              daemonized=True)
    check_instances_running(cli,
                            project, [INSTANCE1, INSTANCE2],
                            stateboard=True,
                            daemonized=True)

    # get logs w/o stateboard
    logs = cli.get_logs(project)
    assert len(logs) == 2
    assert_instance_logs(logs, ID1, LOG_LINES)
    assert_instance_logs(logs, ID2, LOG_LINES)

    # get logs w/ stateboard
    logs = cli.get_logs(project, stateboard=True)
    assert len(logs) == 3
    assert_instance_logs(logs, ID1, LOG_LINES)
    assert_instance_logs(logs, ID2, LOG_LINES)
    assert_instance_logs(logs, STATEBOARD_ID, LOG_LINES)

    # get logs stateboard-only
    logs = cli.get_logs(project, stateboard_only=True)
    assert len(logs) == 1
    assert_instance_logs(logs, STATEBOARD_ID, LOG_LINES)