def test_returns_false_if_apply_rule_number_fails(self): password = '******' with self.subTest(): self.assertFalse(passes_rule(RuleType.NUMBER, password)) new_password = apply_rule(RuleType.NUMBER, password) with self.subTest(): self.assertGreater(len(new_password), 0) self.assertTrue(passes_rule(RuleType.NUMBER, new_password))
def test_returns_false_if_apply_rule_lowercase_fails(self): password = '******' with self.subTest(): self.assertFalse(passes_rule(RuleType.LOWERCASE, password)) new_password = apply_rule(RuleType.LOWERCASE, password) with self.subTest(): self.assertGreater(len(new_password), 0) self.assertTrue(passes_rule(RuleType.LOWERCASE, new_password))
def test_returns_false_if_apply_rule_special_fails(self): password = '******' with self.subTest(): self.assertFalse(passes_rule(RuleType.SPECIAL, password)) new_password = apply_rule(RuleType.SPECIAL, password) with self.subTest(): self.assertGreater(len(new_password), 0) self.assertTrue(passes_rule(RuleType.SPECIAL, new_password))
def test_returns_false_if_generated_password_not_match_number_rule(self): length = 8 kwargs = {'length': length, 'rule': [RuleType.NUMBER.value]} password = generate_password(**kwargs) with self.subTest(): self.assertGreaterEqual(len(password), length) self.assertTrue(passes_rule(RuleType.NUMBER, password))
def test_returns_false_if_generated_password_not_match_all_rules(self): length = 8 kwargs = {'length': length, 'rule': ['all']} password = generate_password(**kwargs) with self.subTest(): self.assertGreaterEqual(len(password), length) for rule in RuleType: with self.subTest(): self.assertTrue(passes_rule(rule, password))
def test_returns_false_if_valid_special_rule_fails(self): self.assertTrue(passes_rule(RuleType.SPECIAL, choice(punctuation)))
def test_returns_false_if_valid_uppercase_rule_fails(self): self.assertTrue( passes_rule(RuleType.UPPERCASE, choice(ascii_uppercase)))
def test_returns_false_if_valid_number_rule_fails(self): self.assertTrue(passes_rule(RuleType.NUMBER, choice(digits)))
def test_returns_false_if_invalid_special_rule_passes(self): self.assertFalse(passes_rule(RuleType.SPECIAL, 'k'))
def test_returns_false_if_invalid_uppercase_rule_passes(self): self.assertFalse( passes_rule(RuleType.UPPERCASE, choice(ascii_lowercase)))
def test_returns_false_if_invalid_number_rule_passes(self): self.assertFalse(passes_rule(RuleType.NUMBER, 'kdjkfg'))