mirror of
https://github.com/scito/extract_otp_secrets.git
synced 2025-12-18 00:00:13 +01:00
add stdin pytest
This commit is contained in:
@@ -21,10 +21,36 @@
|
|||||||
from utils import read_csv, read_json, remove_files, remove_dir_with_files, read_file_to_str, file_exits
|
from utils import read_csv, read_json, remove_files, remove_dir_with_files, read_file_to_str, file_exits
|
||||||
from os import path
|
from os import path
|
||||||
from pytest import raises
|
from pytest import raises
|
||||||
|
from io import StringIO
|
||||||
|
|
||||||
import extract_otp_secret_keys
|
import extract_otp_secret_keys
|
||||||
|
|
||||||
|
|
||||||
|
def test_extract_stdout(capsys):
|
||||||
|
# Act
|
||||||
|
extract_otp_secret_keys.main(['example_export.txt'])
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
|
||||||
|
assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT
|
||||||
|
assert captured.err == ''
|
||||||
|
|
||||||
|
|
||||||
|
def test_extract_stdin_stdout(capsys, monkeypatch):
|
||||||
|
# Prepare
|
||||||
|
monkeypatch.setattr('sys.stdin', StringIO(read_file_to_str('example_export.txt')))
|
||||||
|
|
||||||
|
# Act
|
||||||
|
extract_otp_secret_keys.main(['-'])
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
captured = capsys.readouterr()
|
||||||
|
|
||||||
|
assert captured.out == EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT
|
||||||
|
assert captured.err == ''
|
||||||
|
|
||||||
|
|
||||||
def test_extract_csv(capsys):
|
def test_extract_csv(capsys):
|
||||||
# Arrange
|
# Arrange
|
||||||
cleanup()
|
cleanup()
|
||||||
@@ -121,42 +147,6 @@ def test_extract_json(capsys):
|
|||||||
cleanup()
|
cleanup()
|
||||||
|
|
||||||
|
|
||||||
def test_extract_stdout(capsys):
|
|
||||||
# Act
|
|
||||||
extract_otp_secret_keys.main(['example_export.txt'])
|
|
||||||
|
|
||||||
# Assert
|
|
||||||
captured = capsys.readouterr()
|
|
||||||
|
|
||||||
expected_stdout = '''Name: pi@raspberrypi
|
|
||||||
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
|
||||||
Issuer: raspberrypi
|
|
||||||
Type: totp
|
|
||||||
|
|
||||||
Name: pi@raspberrypi
|
|
||||||
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
|
||||||
Type: totp
|
|
||||||
|
|
||||||
Name: pi@raspberrypi
|
|
||||||
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
|
||||||
Type: totp
|
|
||||||
|
|
||||||
Name: pi@raspberrypi
|
|
||||||
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
|
||||||
Issuer: raspberrypi
|
|
||||||
Type: totp
|
|
||||||
|
|
||||||
Name: hotp demo
|
|
||||||
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
|
||||||
Type: hotp
|
|
||||||
Counter: 4
|
|
||||||
|
|
||||||
'''
|
|
||||||
|
|
||||||
assert captured.out == expected_stdout
|
|
||||||
assert captured.err == ''
|
|
||||||
|
|
||||||
|
|
||||||
def test_extract_not_encoded_plus(capsys):
|
def test_extract_not_encoded_plus(capsys):
|
||||||
# Act
|
# Act
|
||||||
extract_otp_secret_keys.main(['test/test_plus_problem_export.txt'])
|
extract_otp_secret_keys.main(['test/test_plus_problem_export.txt'])
|
||||||
@@ -353,3 +343,29 @@ def cleanup():
|
|||||||
remove_files('test_example_*.csv')
|
remove_files('test_example_*.csv')
|
||||||
remove_files('test_example_*.json')
|
remove_files('test_example_*.json')
|
||||||
remove_dir_with_files('testout/')
|
remove_dir_with_files('testout/')
|
||||||
|
|
||||||
|
|
||||||
|
EXPECTED_STDOUT_FROM_EXAMPLE_EXPORT = '''Name: pi@raspberrypi
|
||||||
|
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
||||||
|
Issuer: raspberrypi
|
||||||
|
Type: totp
|
||||||
|
|
||||||
|
Name: pi@raspberrypi
|
||||||
|
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
||||||
|
Type: totp
|
||||||
|
|
||||||
|
Name: pi@raspberrypi
|
||||||
|
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
||||||
|
Type: totp
|
||||||
|
|
||||||
|
Name: pi@raspberrypi
|
||||||
|
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
||||||
|
Issuer: raspberrypi
|
||||||
|
Type: totp
|
||||||
|
|
||||||
|
Name: hotp demo
|
||||||
|
Secret: 7KSQL2JTUDIS5EF65KLMRQIIGY
|
||||||
|
Type: hotp
|
||||||
|
Counter: 4
|
||||||
|
|
||||||
|
'''
|
||||||
|
|||||||
Reference in New Issue
Block a user