Initial commit to photo-dater with pytest test
This commit is contained in:
43
pytest/test_cmd_arguments.py
Normal file
43
pytest/test_cmd_arguments.py
Normal file
@@ -0,0 +1,43 @@
|
||||
|
||||
import pytest
|
||||
import random
|
||||
import string
|
||||
import subprocess
|
||||
|
||||
from helpers import *
|
||||
from fixtures import *
|
||||
|
||||
cmd = 'python3 updatescannedpics.py'
|
||||
|
||||
@pytest.mark.parametrize("cmd_line", ["-h", "--help"])
|
||||
def test_help(cmd_line):
|
||||
command = f'{cmd} {cmd_line}'.split()
|
||||
output = subprocess.run(command, capture_output=True, encoding='UTF-8')
|
||||
|
||||
assert output.returncode == 1
|
||||
assert output.stdout == "-i Input Directory\n-o Output Directory\n-m My Pre-Configured Directory Layout\nDefaults directory to PWD\n"
|
||||
|
||||
def test_bad_param():
|
||||
bad_options = [char for char in string.ascii_letters]
|
||||
bad_options.remove('h')
|
||||
bad_options.remove('i')
|
||||
bad_options.remove('o')
|
||||
bad_options.remove('m')
|
||||
|
||||
rand_bad_opt = random.choice(bad_options)
|
||||
command = f'{cmd} -{rand_bad_opt}'.split()
|
||||
output = subprocess.run(command, capture_output=True, encoding='UTF-8')
|
||||
|
||||
assert output.returncode == 2
|
||||
assert output.stdout == f"option -{rand_bad_opt} not recognized\n-i Input Directory\n-o Output Directory\n-m My Pre-Configured Directory Layout\nDefaults directory to PWD\n"
|
||||
|
||||
@pytest.mark.parametrize("cmd_line, expected", [("", "Not Using"), ("-m", "Using")])
|
||||
def test_my_format(cmd_line, expected, log_file):
|
||||
command = f'{cmd} {cmd_line}'
|
||||
run_successfull_cmd(command)
|
||||
|
||||
with open(log_file, 'r') as my_log:
|
||||
lines = my_log.readlines()
|
||||
assert f"{expected} pre formated directories" in lines[2]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user