def validate_password(cts: click.Context, param: Any, password: str) -> str: is_valid_password = False # The given password has passed confirmation try: validate_password_strength(password) except ValidationError as e: click.echo(f'Error: {e} Please retype.') else: is_valid_password = True while not is_valid_password: password = get_password( text='Type the password that secures your validator keystore(s)') try: validate_password_strength(password) except ValidationError as e: click.echo(f'Error: {e} Please retype.') else: # Confirm password password_confirmation = get_password( text='Repeat for confirmation') if password == password_confirmation: is_valid_password = True else: click.echo( 'Error: the two entered values do not match. Please retype again.' ) return password
def create_password(text: str) -> str: is_valid_password = False password = "" while not is_valid_password: password = get_password(text=text) try: validate_password_strength(password) except ValidationError as e: click.echo(f"Error: {e} Please retype.") else: # Confirm password password_confirmation = get_password(text="Repeat for confirmation") if password == password_confirmation: is_valid_password = True else: click.echo( "Error: the two entered values do not match. Please retype again." ) return password
def test_validate_password_strength(password, valid): if valid: validate_password_strength(password=password) else: with pytest.raises(ValidationError): validate_password_strength(password=password)