mock no_args tests
This commit is contained in:
@@ -433,21 +433,37 @@ def test_extract_help(capsys):
|
||||
assert e.type == SystemExit
|
||||
assert e.value.code == 0
|
||||
|
||||
@pytest.mark.skipif(qreader_available, reason="Cannot test interactive mode")
|
||||
def test_extract_no_arguments(capsys):
|
||||
# Act
|
||||
with pytest.raises(SystemExit) as e:
|
||||
extract_otp_secret_keys.main([])
|
||||
def test_extract_no_arguments(capsys, mocker):
|
||||
if qreader_available:
|
||||
# Arrange
|
||||
otps = read_json('example_output.json')
|
||||
mocker.patch('extract_otp_secret_keys.extract_otps_from_camera', return_value=otps)
|
||||
|
||||
# Assert
|
||||
captured = capsys.readouterr()
|
||||
# Act
|
||||
extract_otp_secret_keys.main(['-c', '-'])
|
||||
|
||||
expected_err_msg = 'error: the following arguments are required: infile'
|
||||
# Assert
|
||||
captured = capsys.readouterr()
|
||||
|
||||
assert expected_err_msg in captured.err
|
||||
assert captured.out == ''
|
||||
assert e.value.code == 2
|
||||
assert e.type == SystemExit
|
||||
expected_csv = read_csv('example_output.csv')
|
||||
actual_csv = read_csv_str(captured.out)
|
||||
|
||||
assert actual_csv == expected_csv
|
||||
assert captured.err == ''
|
||||
else:
|
||||
# Act
|
||||
with pytest.raises(SystemExit) as e:
|
||||
extract_otp_secret_keys.main([])
|
||||
|
||||
# Assert
|
||||
captured = capsys.readouterr()
|
||||
|
||||
expected_err_msg = 'error: the following arguments are required: infile'
|
||||
|
||||
assert expected_err_msg in captured.err
|
||||
assert captured.out == ''
|
||||
assert e.value.code == 2
|
||||
assert e.type == SystemExit
|
||||
|
||||
|
||||
def test_verbose_and_quiet(capsys):
|
||||
|
||||
Reference in New Issue
Block a user