@Test public void lowerAndUpperWithConstrainedLength() { String password = new PasswordGenerator() .lower().min(2).max(5) .upper().count(3) .numbers().count(0) .symbols().count(0) .generate(); assertTrue(password.matches("^[a-zA-Z]+$")); assertTrue(password.replaceAll("[A-Z]", "").matches("[a-z]{2,5}")); assertTrue(password.replaceAll("[a-z]", "").matches("[A-Z]{3}")); }
@Provides @Singleton protected PasswordGenerator.Config providePasswordGenerator() { return new PasswordGenerator() .lower().min(2).max(10).exclude("ilowyz".toCharArray()) .upper().min(2).max(10).exclude("IOWYZ".toCharArray()) .numbers().min(2).max(10).exclude("10".toCharArray()) .symbols().count(0); }
final String password = options.hasLoginPassword() ? options.getLoginPassword() : passwordGenerator.generate();
final String password = options.hasLoginPassword() ? options.getLoginPassword() : passwordGenerator.generate();
private void generatePasswordIfNoneProvided(Template template) { TemplateOptions options = template.getOptions(); if (options.getLoginPassword() == null) { Optional<String> passwordOptional = template.getImage().getDefaultCredentials().getOptionalPassword(); options.overrideLoginPassword(passwordOptional.or(passwordGenerator.generate())); } }
@Provides @Singleton protected PasswordGenerator.Config providePasswordGenerator() { // Guest passwords must be between 6-72 characters long. // Must contain an upper case character. // Must contain a lower case character. // Must contain a numeric digit. // Must contain a special character. Control characters are not allowed. return new PasswordGenerator() .lower().min(2).max(10) .upper().min(2).max(10) .numbers().min(2).max(10) .symbols().min(2).max(10); }
@Provides @Singleton protected PasswordGenerator.Config providePasswordGenerator() { return new PasswordGenerator() .lower().min(2).max(10).exclude("ilowyz".toCharArray()) .upper().min(2).max(10).exclude("IOWYZ".toCharArray()) .numbers().min(2).max(10).exclude("10".toCharArray()) .symbols().count(0); }