Esempio n. 1
0
 def test_digits_and_lower_single_password(self):
     rules = PasswordRules()
     rules.learn('ab1')
     generator = PasswordGenerator(rules)
     self.assertEqual(1, generator.count_rules())
     snapshots = [s for s in generator.iter_rules()]
     self.assertEqual(1, len(snapshots))
     self.assertEqual([1, 2], snapshots[0].counts)
     passwords = [p for p in snapshots[0].iter_passwords()]
     expected = (permutations(10, 1) * permutations(26, 2)) * 3
     self.assertEqual(expected, len(passwords))
Esempio n. 2
0
 def test_password_count(self):
     rules = PasswordRules()
     rules.learn('abbdABBD12')
     rules.learn('abbdABBD^2')
     generator = PasswordGenerator(rules)
     self.assertEqual(2, generator.count_rules())
     snapshots = [s for s in generator.iter_rules()]
     self.assertEqual(2, len(snapshots))
     self.assertEqual([4, 2, 4, 0], snapshots[0].counts)
     chs = (26 * 2) * (26 * 2 - 1) * (26 * 2 - 2) * (26 * 2 - 3) / (2 * 3 *
                                                                    4)
     self.assertEqual(10 * chs * chs * (10 * 9 / 2),
                      snapshots[0].count_passwords())
     self.assertEqual([4, 1, 4, 1], snapshots[1].counts)
     self.assertEqual(10 * chs * chs * 10 * 29,
                      snapshots[1].count_passwords())
Esempio n. 3
0
 def test_empty(self):
     rules = PasswordRules()
     generator = PasswordGenerator(rules)
     snapshots = [s for s in generator.iter_rules()]
     self.assertEqual(0, len(snapshots))
     self.assertEqual(0, generator.count_rules())