mirror of
https://github.com/google/nomulus.git
synced 2025-07-21 18:26:12 +02:00
Add BCC capabilities to the Spec11 reports (#418)
* Add BCC capabilities to the Spec11 reports
This commit is contained in:
parent
751f5dfbe5
commit
53ca296263
8 changed files with 75 additions and 31 deletions
|
@ -29,7 +29,7 @@ public abstract class EmailMessage {
|
|||
public abstract String body();
|
||||
public abstract ImmutableList<InternetAddress> recipients();
|
||||
public abstract InternetAddress from();
|
||||
public abstract Optional<InternetAddress> bcc();
|
||||
public abstract ImmutableList<InternetAddress> bccs();
|
||||
public abstract Optional<MediaType> contentType();
|
||||
public abstract Optional<Attachment> attachment();
|
||||
|
||||
|
@ -55,17 +55,23 @@ public abstract class EmailMessage {
|
|||
public abstract Builder setBody(String body);
|
||||
public abstract Builder setRecipients(Collection<InternetAddress> recipients);
|
||||
public abstract Builder setFrom(InternetAddress from);
|
||||
public abstract Builder setBcc(InternetAddress bcc);
|
||||
public abstract Builder setBccs(Collection<InternetAddress> bccs);
|
||||
public abstract Builder setContentType(MediaType contentType);
|
||||
public abstract Builder setAttachment(Attachment attachment);
|
||||
|
||||
abstract ImmutableList.Builder<InternetAddress> recipientsBuilder();
|
||||
abstract ImmutableList.Builder<InternetAddress> bccsBuilder();
|
||||
|
||||
public Builder addRecipient(InternetAddress value) {
|
||||
recipientsBuilder().add(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Builder addBcc(InternetAddress bcc) {
|
||||
bccsBuilder().add(bcc);
|
||||
return this;
|
||||
}
|
||||
|
||||
public abstract EmailMessage build();
|
||||
}
|
||||
|
||||
|
|
|
@ -78,8 +78,8 @@ public class SendEmailService {
|
|||
attachmentPart.setFileName(attachment.filename());
|
||||
multipart.addBodyPart(attachmentPart);
|
||||
}
|
||||
if (emailMessage.bcc().isPresent()) {
|
||||
msg.addRecipient(RecipientType.BCC, emailMessage.bcc().get());
|
||||
for (InternetAddress bcc : emailMessage.bccs()) {
|
||||
msg.addRecipient(RecipientType.BCC, bcc);
|
||||
}
|
||||
msg.setContent(multipart);
|
||||
msg.saveChanges();
|
||||
|
|
|
@ -21,6 +21,7 @@ import static org.mockito.Mockito.doThrow;
|
|||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.net.MediaType;
|
||||
import google.registry.testing.FakeClock;
|
||||
import google.registry.testing.FakeSleeper;
|
||||
|
@ -44,8 +45,7 @@ import org.mockito.junit.MockitoRule;
|
|||
@RunWith(JUnit4.class)
|
||||
public class SendEmailServiceTest {
|
||||
|
||||
@Rule
|
||||
public final MockitoRule mocks = MockitoJUnit.rule();
|
||||
@Rule public final MockitoRule mocks = MockitoJUnit.rule();
|
||||
|
||||
private final Retrier retrier = new Retrier(new FakeSleeper(new FakeClock()), 2);
|
||||
private final TransportEmailSender wrapper = mock(TransportEmailSender.class);
|
||||
|
@ -74,12 +74,19 @@ public class SendEmailServiceTest {
|
|||
|
||||
@Test
|
||||
public void testSuccess_bcc() throws Exception {
|
||||
EmailMessage content = createBuilder().setBcc(new InternetAddress("bcc@example.com")).build();
|
||||
EmailMessage content =
|
||||
createBuilder()
|
||||
.setBccs(
|
||||
ImmutableList.of(
|
||||
new InternetAddress("bcc@example.com"),
|
||||
new InternetAddress("bcc2@example.com")))
|
||||
.build();
|
||||
sendEmailService.sendEmail(content);
|
||||
Message message = getMessage();
|
||||
assertThat(message.getRecipients(RecipientType.BCC))
|
||||
.asList()
|
||||
.containsExactly(new InternetAddress("bcc@example.com"));
|
||||
.containsExactly(
|
||||
new InternetAddress("bcc@example.com"), new InternetAddress("bcc2@example.com"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
@ -87,8 +94,7 @@ public class SendEmailServiceTest {
|
|||
EmailMessage content = createBuilder().setContentType(MediaType.HTML_UTF_8).build();
|
||||
sendEmailService.sendEmail(content);
|
||||
Message message = getMessage();
|
||||
assertThat(getInternalContent(message).getContentType())
|
||||
.isEqualTo("text/html; charset=utf-8");
|
||||
assertThat(getInternalContent(message).getContentType()).isEqualTo("text/html; charset=utf-8");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue