def test_no_mystery_characters(self): for _ in range(0, 1000): count = random.randint(1, len(string.printable)) characters = random.sample(string.printable, count) password = passwords.generate_password(characters, 20, 30) for char in password: self.assertIn(char, characters)
def test_length_range(self): characters = string.letters for _ in range(0, 1000): min_length = random.randint(1, 50) max_length = random.randint(0, 20) + min_length password = passwords.generate_password(characters, min_length, max_length) self.assertLessEqual(min_length, len(password)) self.assertGreaterEqual(max_length, len(password))
def generate_password(self): return passwords.generate_password(self.get_allowed_characters(), self.min_length, self.max_length, self.repeats_allowed)