diff --git a/spring-data-commons-core/src/main/java/org/springframework/data/authentication/UserCredentials.java b/spring-data-commons-core/src/main/java/org/springframework/data/authentication/UserCredentials.java index 529b50a64..46cc87b3e 100644 --- a/spring-data-commons-core/src/main/java/org/springframework/data/authentication/UserCredentials.java +++ b/spring-data-commons-core/src/main/java/org/springframework/data/authentication/UserCredentials.java @@ -26,13 +26,11 @@ import org.springframework.util.StringUtils; */ public class UserCredentials { + public static final UserCredentials NO_CREDENTIALS = new UserCredentials(null, null); + private final String username; private final String password; - public UserCredentials() { - this(null, null); - } - /** * Creates a new {@link UserCredentials} instance from the given username and password. Empty {@link String}s provided * will be treated like no username or password set. @@ -63,6 +61,24 @@ public class UserCredentials { return password; } + /** + * Returns whether the credentials contain a username. + * + * @return + */ + public boolean hasUsername() { + return this.username != null; + } + + /** + * Returns whether the credentials contain a password. + * + * @return + */ + public boolean hasPassword() { + return this.password != null; + } + /* * (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) diff --git a/spring-data-commons-core/src/test/java/org/springframework/data/authentication/UserCredentialsUnitTests.java b/spring-data-commons-core/src/test/java/org/springframework/data/authentication/UserCredentialsUnitTests.java index aa2273952..978f845ef 100644 --- a/spring-data-commons-core/src/test/java/org/springframework/data/authentication/UserCredentialsUnitTests.java +++ b/spring-data-commons-core/src/test/java/org/springframework/data/authentication/UserCredentialsUnitTests.java @@ -32,6 +32,46 @@ public class UserCredentialsUnitTests { UserCredentials credentials = new UserCredentials("", ""); assertThat(credentials.getUsername(), is(nullValue())); + assertThat(credentials.hasUsername(), is(false)); + assertThat(credentials.getPassword(), is(nullValue())); + assertThat(credentials.hasPassword(), is(false)); + } + + /** + * @see DATACMNS-142 + */ + @Test + public void noCredentialsNullsUsernameAndPassword() { + + assertThat(UserCredentials.NO_CREDENTIALS.getUsername(), is(nullValue())); + assertThat(UserCredentials.NO_CREDENTIALS.getPassword(), is(nullValue())); + } + + /** + * @see DATACMNS-142 + */ + @Test + public void configuresUsernameCorrectly() { + + UserCredentials credentials = new UserCredentials("username", null); + + assertThat(credentials.hasUsername(), is(true)); + assertThat(credentials.getUsername(), is("username")); + assertThat(credentials.hasPassword(), is(false)); assertThat(credentials.getPassword(), is(nullValue())); } + + /** + * @see DATACMNS-142 + */ + @Test + public void configuresPasswordCorrectly() { + + UserCredentials credentials = new UserCredentials(null, "password"); + + assertThat(credentials.hasUsername(), is(false)); + assertThat(credentials.getUsername(), is(nullValue())); + assertThat(credentials.hasPassword(), is(true)); + assertThat(credentials.getPassword(), is("password")); + } }