forked from tilde/ssh-reg
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
This commit is contained in:
parent
cabe14d41d
commit
f803b1acb4
3 changed files with 42 additions and 10 deletions
private/test
|
@ -13,6 +13,12 @@ class TestListUsers(unittest.TestCase):
|
|||
except IOError as 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):
|
||||
# count newlines in string, everything under 3 is wrong, and above 20 too.
|
||||
out = self.list.output_as_list().splitlines()
|
||||
|
|
|
@ -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,20 +28,22 @@ 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), name)
|
||||
|
||||
for name in testcfg.genRandomString():
|
||||
self.assertFalse(self.validator.checkEmail(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:
|
||||
self.assertTrue(self.validator.checkUserInDB(name, testcfg.test_db))
|
||||
|
||||
for name in testcfg.Validator_db_user_inexistent:
|
||||
self.assertFalse(self.validator.checkUserInDB(name, testcfg.test_db))
|
||||
|
||||
|
@ -51,12 +56,18 @@ 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:
|
||||
self.assertTrue(self.validator.checkName(checkname))
|
||||
for checkname in testcfg.Validator_invalid_checkname_names:
|
||||
self.assertFalse(self.validator.checkName(checkname))
|
||||
for name in testcfg.Validator_valid_checkname_names:
|
||||
self.assertTrue(self.validator.checkName(name))
|
||||
for name in testcfg.Validator_invalid_checkname_names:
|
||||
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):
|
||||
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_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…
Add table
Reference in a new issue