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
feature-test
Darksider3 4 years ago
parent cabe14d41d
commit f803b1acb4

@ -13,6 +13,12 @@ class TestListUsers(unittest.TestCase):
except IOError as fs_err: except IOError as fs_err:
self.fail(fs_err) self.fail(fs_err)
def test_singleUser(self):
try:
ListUsers(testcfg.test_db, single_user=testcfg.assured_user)
except Exception:
self.fail()
def test_output_as_list(self): def test_output_as_list(self):
# count newlines in string, everything under 3 is wrong, and above 20 too. # count newlines in string, everything under 3 is wrong, and above 20 too.
out = self.list.output_as_list().splitlines() out = self.list.output_as_list().splitlines()

@ -15,6 +15,9 @@ class TestValidator(unittest.TestCase):
for name in testcfg.Validator_Invalid_Users_Chars_List: for name in testcfg.Validator_Invalid_Users_Chars_List:
self.assertFalse(self.validator.checkUsernameCharacters(name), name) 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): def test_check_username_length(self):
for name in testcfg.Validator_Valid_Users_Length: for name in testcfg.Validator_Valid_Users_Length:
self.assertTrue(self.validator.checkUsernameLength(name)) self.assertTrue(self.validator.checkUsernameLength(name))
@ -25,20 +28,22 @@ class TestValidator(unittest.TestCase):
for name in testcfg.Validator_Valid_Mail: for name in testcfg.Validator_Valid_Mail:
self.assertTrue(self.validator.checkEmail(name)) self.assertTrue(self.validator.checkEmail(name))
for name in testcfg.Validator_Invalid_Mail: for name in testcfg.Validator_Invalid_Mail:
self.assertFalse(self.validator.checkEmail(name), name)
for name in testcfg.genRandomString():
self.assertFalse(self.validator.checkEmail(name)) self.assertFalse(self.validator.checkEmail(name))
def test_check_user_exists(self): def test_check_user_exists(self):
self.assertTrue(self.validator.checkUserExists("root")) self.assertTrue(self.validator.checkUserExists("root"))
self.assertTrue(self.validator.checkUserExists("nobody")) # remove in case there exists an actual system without 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")) for User in testcfg.genRandomString():
self.assertFalse(self.validator.checkUserExists("curArrSosss")) self.assertFalse(self.validator.checkUserExists(User))
self.assertFalse(self.validator.checkUserExists("123WildPack123"))
# are there any more users which are assertable?
def test_check_user_in_db(self): def test_check_user_in_db(self):
for name in testcfg.Validator_db_user_exists: for name in testcfg.Validator_db_user_exists:
self.assertTrue(self.validator.checkUserInDB(name, testcfg.test_db)) self.assertTrue(self.validator.checkUserInDB(name, testcfg.test_db))
for name in testcfg.Validator_db_user_inexistent: for name in testcfg.Validator_db_user_inexistent:
self.assertFalse(self.validator.checkUserInDB(name, testcfg.test_db)) self.assertFalse(self.validator.checkUserInDB(name, testcfg.test_db))
@ -51,12 +56,18 @@ class TestValidator(unittest.TestCase):
def test_check_datetime_format(self): def test_check_datetime_format(self):
for cur in testcfg.Validator_valid_datetime: for cur in testcfg.Validator_valid_datetime:
self.assertTrue(self.validator.checkDatetimeFormat(cur)) 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): def test_check_name(self):
for checkname in testcfg.Validator_valid_checkname_names: for name in testcfg.Validator_valid_checkname_names:
self.assertTrue(self.validator.checkName(checkname)) self.assertTrue(self.validator.checkName(name))
for checkname in testcfg.Validator_invalid_checkname_names: for name in testcfg.Validator_invalid_checkname_names:
self.assertFalse(self.validator.checkName(checkname)) self.assertFalse(self.validator.checkName(name))
for name in testcfg.genRandomString(alphabet="\n\b\r\t\f"):
self.assertFalse(self.validator.checkName(name))
def test_check_import_file(self): def test_check_import_file(self):
self.assertTrue(self.validator.checkImportFile(testcfg.test_import_csv, self.assertTrue(self.validator.checkImportFile(testcfg.test_import_csv,

@ -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)).capitalize()
assured_user: str = "darksider3"
test_backup_csv: str = "test/testbackup.csv" test_backup_csv: str = "test/testbackup.csv"
test_db: str = "./test/applications.sqlite" test_db: str = "./test/applications.sqlite"
test_import_csv: str = "test/testimport.csv" test_import_csv: str = "test/testimport.csv"
@ -39,7 +52,9 @@ NrRFi9wrf+M7Q== schacon@mylaptop.local"""]
Validator_invalid_ssh: list = ["lol.", "ssh-rsa lol."] Validator_invalid_ssh: list = ["lol.", "ssh-rsa lol."]
#Y-%m-%d %H:%M:%S #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_valid_checkname_names: list = ["HalloWelt"]
Validator_invalid_checkname_names: list = ["\\n", "\n\b"] Validator_invalid_checkname_names: list = ["\\n", "\n\b"]
Loading…
Cancel
Save