public static User fromUsername(String username) { Preconditions.checkNotNull(username); Preconditions.checkArgument(!Strings.isNullOrEmpty(username)); List<String> parts = ImmutableList.copyOf(Splitter.on('@').split(username)); switch (parts.size()) { case 1: return fromLocalPartWithoutDomain(username); case 2: return fromLocalPartWithDomain(parts.get(0), parts.get(1)); } throw new IllegalArgumentException("The username should not contain multiple domain delimiter."); }
public static User fromUsername(String username) { Preconditions.checkNotNull(username); Preconditions.checkArgument(!Strings.isNullOrEmpty(username)); List<String> parts = ImmutableList.copyOf(Splitter.on('@').split(username)); switch (parts.size()) { case 1: return fromLocalPartWithoutDomain(username); case 2: return fromLocalPartWithDomain(parts.get(0), parts.get(1)); } throw new IllegalArgumentException("The username should not contain multiple domain delimiter."); }
@Test public void fromLocalPartWithoutDomainShouldThrowOnNull() { assertThatThrownBy(() -> User.fromLocalPartWithoutDomain(null)) .isInstanceOf(NullPointerException.class); }
@Test public void fromLocalPartWithoutDomainShouldThrowOnEmpty() { assertThatThrownBy(() -> User.fromLocalPartWithoutDomain("")) .isInstanceOf(IllegalArgumentException.class); }
@Test public void fromLocalPartWithoutDomainShouldThrowOnUsernameThatContainsDomainDelimiter() { assertThatThrownBy(() -> User.fromLocalPartWithoutDomain("aa@bb")) .isInstanceOf(IllegalArgumentException.class); }
@Test public void fromLocalPartWithoutDomainShouldThrowOnEmpty() { assertThatThrownBy(() -> User.fromLocalPartWithoutDomain("")) .isInstanceOf(IllegalArgumentException.class); }
@Test public void fromLocalPartWithoutDomainShouldThrowOnNull() { assertThatThrownBy(() -> User.fromLocalPartWithoutDomain(null)) .isInstanceOf(NullPointerException.class); }
@Test public void fromLocalPartWithoutDomainShouldThrowOnUsernameThatContainsDomainDelimiter() { assertThatThrownBy(() -> User.fromLocalPartWithoutDomain("aa@bb")) .isInstanceOf(IllegalArgumentException.class); }
@Test public void fromLocalPartWithoutDomainShouldReturnAValidUser() { assertThat(User.fromLocalPartWithoutDomain("aa")) .isEqualTo(User.from("aa", Optional.empty())); }
@Test public void fromLocalPartWithoutDomainShouldReturnAValidUser() { assertThat(User.fromLocalPartWithoutDomain("aa")) .isEqualTo(User.from("aa", Optional.empty())); }
@Test public void hasDomainPartShouldReturnFalseWhenNoDomain() { assertThat(User.fromLocalPartWithoutDomain("aa").hasDomainPart()) .isFalse(); }
@Test public void hasDomainPartShouldReturnFalseWhenNoDomain() { assertThat(User.fromLocalPartWithoutDomain("aa").hasDomainPart()) .isFalse(); }