def get_or_create_pass(): # pragma: no cover p = getpass.getpass(prompt='Password (leave empty to create one):') if p: return p while not p: print("Password length (default: 8):", end="") sys.stdout.flush() ans = sys.stdin.readline().strip() try: ans = ast.literal_eval(ans) if isinstance(ans, int): kwargs = {'pass_len': ans} break elif isinstance(ans, dict): kwargs = ans break else: print("Did not understand your input...") continue except ValueError: print("Something evil happend.") print("Did not understand your input...") continue except SyntaxError: kwargs = {} break p = generate_password(**kwargs) return p
def test_has_digits(self): password = generate_password(uppercase=True, lowercase=False) digits = set(string.digits) it = digits.intersection(password) print(it) try: self.assertTrue(len(it) >= 0) except unittest.AssetionError: print(it)
def test_has_no_lower(self): password = generate_password(uppercase=True, lowercase=False) lower = set(string.ascii_lowercase) it = lower.intersection(set(password)) print(it) self.assertTrue(len(it) == 0)
def test_len(self): self.assertEqual(13, len(generate_password(pass_len=13)))