Compare commits

...

2 Commits

Author SHA1 Message Date
Darksider3 536a46b5aa testcfg: Add genRandomString, which automates away a few cases
... of actual value testing which i won't write manually then! :)

Also implements them on ListUsers
4 years ago
Darksider3 cabe14d41d tests-ListUsers: Remove useless printing to dev/null
Which again allows me to actually debug with print statements.
Dont know which dragon ride gave me the desillusional idea to actually
do it that way
4 years ago

@ -5,9 +5,6 @@ import os
from lib.ListUsers import ListUsers
sys.path.append('..')
f = open(os.devnull, 'w')
sys.stdout = f
class TestListUsers(unittest.TestCase):
def setUp(self) -> None:
@ -23,7 +20,6 @@ class TestListUsers(unittest.TestCase):
"Newlines in OUTPUT doesn't exceed minimum of at least "
f"{testcfg.ListUsers_output_newlines} "
"lines!")
print(out)
def test_pretty_print(self):
# wont going to compare the stdout sorry very much
@ -36,7 +32,7 @@ class TestListUsers(unittest.TestCase):
testcfg.ListUsers_fetch_size_min, "fetch is NOT greater than"
"the configured fetch minimum")
try:
print(fetch[0])
fetch[0]
except (KeyError, IOError) as suddenly_not_there:
self.fail(f"Expected fetch to have at least one argument! {suddenly_not_there}")

@ -15,6 +15,9 @@ class TestValidator(unittest.TestCase):
for name in testcfg.Validator_Invalid_Users_Chars_List:
self.assertFalse(self.validator.checkUsernameCharacters(name), name)
for name in testcfg.genRandomString():
self.assertFalse(self.validator.checkUsernameCharacters(name), name)
def test_check_username_length(self):
for name in testcfg.Validator_Valid_Users_Length:
self.assertTrue(self.validator.checkUsernameLength(name))
@ -25,16 +28,13 @@ class TestValidator(unittest.TestCase):
for name in testcfg.Validator_Valid_Mail:
self.assertTrue(self.validator.checkEmail(name))
for name in testcfg.Validator_Invalid_Mail:
self.assertFalse(self.validator.checkEmail(name))
self.assertFalse(self.validator.checkEmail(name), name)
def test_check_user_exists(self):
self.assertTrue(self.validator.checkUserExists("root"))
self.assertTrue(self.validator.checkUserExists("nobody")) # remove in case there exists an actual system without
self.assertFalse(self.validator.checkUserExists("blsjdkfl"))
self.assertFalse(self.validator.checkUserExists("b90123ijk"))
self.assertFalse(self.validator.checkUserExists("curArrSosss"))
self.assertFalse(self.validator.checkUserExists("123WildPack123"))
# are there any more users which are assertable?
for User in testcfg.genRandomString():
self.assertFalse(self.validator.checkUserExists(User))
def test_check_user_in_db(self):
for name in testcfg.Validator_db_user_exists:
@ -51,6 +51,10 @@ class TestValidator(unittest.TestCase):
def test_check_datetime_format(self):
for cur in testcfg.Validator_valid_datetime:
self.assertTrue(self.validator.checkDatetimeFormat(cur))
for cur in testcfg.Validator_invalid_checkname_names:
self.assertFalse(self.validator.checkDatetimeFormat(cur))
for cur in testcfg.genRandomString():
self.assertFalse(self.validator.checkDatetimeFormat(cur))
def test_check_name(self):
for checkname in testcfg.Validator_valid_checkname_names:

@ -1,3 +1,16 @@
test_random_iterations: int = 50
def genRandomString(iterations: int = test_random_iterations, size: int = 20, alphabet: str = ""):
import random, string
if alphabet == "":
letters = string.digits + string.printable + string.ascii_letters
else:
letters = alphabet
for i in range(iterations):
yield ''.join(random.choice(letters) for i in range(size))
test_backup_csv: str = "test/testbackup.csv"
test_db: str = "./test/applications.sqlite"
test_import_csv: str = "test/testimport.csv"
@ -39,7 +52,9 @@ NrRFi9wrf+M7Q== schacon@mylaptop.local"""]
Validator_invalid_ssh: list = ["lol.", "ssh-rsa lol."]
#Y-%m-%d %H:%M:%S
Validator_valid_datetime: list = ["2020-10-07 14:15:30"]
Validator_valid_datetime: list = ["2020-10-07 14:15:30", "2020-01-07 12:23:11"]
Validator_ivvalid_datetime: list = ["20201007 14:15:30", "2020-01-07 122311"]
Validator_valid_checkname_names: list = ["HalloWelt"]
Validator_invalid_checkname_names: list = ["\\n", "\n\b"]
Loading…
Cancel
Save