mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-06-20 13:01:29 +02:00
Rename createFallbackMailAddress to more explicit getMailOrFallback
This commit is contained in:
@@ -48,7 +48,7 @@ public class AuthorUtil {
|
||||
Subject subject = SecurityUtils.getSubject();
|
||||
User user = subject.getPrincipals().oneByType(User.class);
|
||||
String name = user.getDisplayName();
|
||||
String mailAddress = eMail != null ? eMail.createFallbackMailAddress(user) : user.getMail();
|
||||
String mailAddress = eMail != null ? eMail.getMailOrFallback(user) : user.getMail();
|
||||
return new Person(name, mailAddress);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,11 @@ import sonia.scm.config.ScmConfiguration;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
/**
|
||||
* Email is able to resolve email addresses of users.
|
||||
*
|
||||
* @since 2.8.0
|
||||
*/
|
||||
public class EMail {
|
||||
|
||||
private final ScmConfiguration scmConfiguration;
|
||||
@@ -38,15 +43,24 @@ public class EMail {
|
||||
this.scmConfiguration = scmConfiguration;
|
||||
}
|
||||
|
||||
public String createFallbackMailAddress(User user) {
|
||||
/**
|
||||
* Returns the email address of the given user or a generated fallback address.
|
||||
* @param user user to resolve address from
|
||||
* @return email address or fallback
|
||||
*/
|
||||
public String getMailOrFallback(User user) {
|
||||
if (Strings.isNullOrEmpty(user.getMail())) {
|
||||
if (user.getId().contains("@")) {
|
||||
return user.getId();
|
||||
} else {
|
||||
return user.getId() + "@" + scmConfiguration.getMailDomainName();
|
||||
return createFallbackMail(user);
|
||||
}
|
||||
} else {
|
||||
return user.getMail();
|
||||
}
|
||||
}
|
||||
|
||||
private String createFallbackMail(User user) {
|
||||
return user.getId() + "@" + scmConfiguration.getMailDomainName();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,10 +36,8 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import sonia.scm.repository.Person;
|
||||
import sonia.scm.user.EMail;
|
||||
import sonia.scm.user.User;
|
||||
import sonia.scm.web.UserAgentParserTest;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
@@ -65,7 +63,7 @@ class AuthorUtilTest {
|
||||
void shouldCreateMailAddressFromEmail() {
|
||||
User trillian = new User("trillian");
|
||||
when(subject.getPrincipals().oneByType(User.class)).thenReturn(trillian);
|
||||
when(eMail.createFallbackMailAddress(trillian)).thenReturn("tricia@hitchhicker.com");
|
||||
when(eMail.getMailOrFallback(trillian)).thenReturn("tricia@hitchhicker.com");
|
||||
|
||||
Command command = new Command(null);
|
||||
AuthorUtil.setAuthorIfNotAvailable(command, eMail);
|
||||
|
||||
@@ -37,7 +37,7 @@ class EMailTest {
|
||||
void shouldUserUsersAddressIfAvailable() {
|
||||
User user = new User("dent", "Arthur Dent", "arthur@hitchhiker.com");
|
||||
|
||||
String mailAddress = eMail.createFallbackMailAddress(user);
|
||||
String mailAddress = eMail.getMailOrFallback(user);
|
||||
|
||||
assertThat(mailAddress).isEqualTo("arthur@hitchhiker.com");
|
||||
}
|
||||
@@ -46,7 +46,7 @@ class EMailTest {
|
||||
void shouldCreateAddressIfNoneAvailable() {
|
||||
User user = new User("dent", "Arthur Dent", "");
|
||||
|
||||
String mailAddress = eMail.createFallbackMailAddress(user);
|
||||
String mailAddress = eMail.getMailOrFallback(user);
|
||||
|
||||
assertThat(mailAddress).isEqualTo("dent@scm-manager.local");
|
||||
}
|
||||
@@ -55,7 +55,7 @@ class EMailTest {
|
||||
void shouldUserUsersIdIfItLooksLikeAnMailAddress() {
|
||||
User user = new User("dent@hitchhiker.com", "Arthur Dent", "");
|
||||
|
||||
String mailAddress = eMail.createFallbackMailAddress(user);
|
||||
String mailAddress = eMail.getMailOrFallback(user);
|
||||
|
||||
assertThat(mailAddress).isEqualTo("dent@hitchhiker.com");
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ public class MeDtoFactory extends HalAppenderMapper {
|
||||
|
||||
private void setGeneratedMail(User user, MeDto dto) {
|
||||
if (Strings.isNullOrEmpty(user.getMail())) {
|
||||
dto.setFallbackMail(eMail.createFallbackMailAddress(user));
|
||||
dto.setFallbackMail(eMail.getMailOrFallback(user));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -244,7 +244,7 @@ class MeDtoFactoryTest {
|
||||
User user = UserTestData.createTrillian();
|
||||
user.setMail(null);
|
||||
prepareSubject(user);
|
||||
when(eMail.createFallbackMailAddress(user)).thenReturn("trillian@hitchhiker.local");
|
||||
when(eMail.getMailOrFallback(user)).thenReturn("trillian@hitchhiker.local");
|
||||
|
||||
MeDto dto = meDtoFactory.create();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user