Пример #1
0
def test_report_errors_does_not_report_duplicate_errors(capsys):
    errors = [
        Error(CRITICAL, 'msg1'),
        Error(ERROR, 'msg2'),
        Error(INFO, 'msg3'),
        Error(WARNING, 'msg4'),
        Error(DEBUG, 'msg4'),
        Error(NOTSET, 'msg4'),
        # dupes
        Error(WARNING, 'msg4'),
        Error(CRITICAL, 'msg1'),
    ]
    severe_errors_count = cmd.report_errors(errors, quiet=True, verbose=True)
    assert severe_errors_count == 3
Пример #2
0
def test_report_errors_with_quiet_ignores_verbose_flag(capsys):
    errors = [
        Error(CRITICAL, 'msg1'),
        Error(ERROR, 'msg2'),
        Error(INFO, 'msg3'),
        Error(WARNING, 'msg4'),
        Error(DEBUG, 'msg4'),
        Error(NOTSET, 'msg4'),
        Error(WARNING, 'msg4'),
    ]
    severe_errors_count = cmd.report_errors(errors, quiet=True, verbose=True)
    assert severe_errors_count == 3
    out, err = capsys.readouterr()
    assert '' == out
    assert '' == err
Пример #3
0
def test_report_errors_with_verbose_flag(capsys):
    errors = [
        Error(CRITICAL, 'msg1'),
        Error(ERROR, 'msg2'),
        Error(INFO, 'msg3'),
        Error(WARNING, 'msg4'),
        Error(DEBUG, 'msg4'),
        Error(NOTSET, 'msg4'),
        Error(WARNING, 'msg4'),
    ]
    severe_errors_count = cmd.report_errors(errors, quiet=False, verbose=True)
    assert severe_errors_count == 3
    out, err = capsys.readouterr()
    expected_out = [
        'Command completed with 3 errors or warnings.', 'CRITICAL: msg1',
        'ERROR: msg2', 'INFO: msg3', 'WARNING: msg4', 'DEBUG: msg4',
        'NOTSET: msg4'
    ]
    assert expected_out == out.splitlines(False)
    assert '' == err
Пример #4
0
def test_report_errors_without_verbose(capsys):
    errors = [
        Error(CRITICAL, 'msg1'),
        Error(ERROR, 'msg2'),
        Error(INFO, 'msg3'),
        Error(WARNING, 'msg4'),
        Error(DEBUG, 'msg4'),
        Error(NOTSET, 'msg4'),
    ]
    ec = cmd.report_errors(errors,
                           quiet=False,
                           verbose=False,
                           log_file_loc=None)
    assert 3 == ec
    out, err = capsys.readouterr()
    expected_out = [
        'Command completed with 3 errors or warnings.',
        'CRITICAL: msg1',
        'ERROR: msg2',
        'WARNING: msg4',
    ]
    assert '' == err
    assert expected_out == out.splitlines(False)
Пример #5
0
def test_report_errors_can_write_to_logfile():
    errors = [
        Error(CRITICAL, 'msg1'),
        Error(ERROR, 'msg2'),
        Error(INFO, 'msg3'),
        Error(WARNING, 'msg4'),
        Error(DEBUG, 'msg4'),
        Error(NOTSET, 'msg4'),
        Error(WARNING, 'msg4'),
    ]

    result_file = get_temp_file()
    _ec = cmd.report_errors(errors,
                            quiet=False,
                            verbose=True,
                            log_file_loc=result_file)
    with io.open(result_file, 'r', encoding='utf-8') as rf:
        result = rf.read()
    expected = [
        'Command completed with 3 errors or warnings.', 'CRITICAL: msg1',
        'ERROR: msg2', 'INFO: msg3', 'WARNING: msg4', 'DEBUG: msg4',
        'NOTSET: msg4'
    ]
    assert expected == result.splitlines(False)