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
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
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
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)
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)