Use Gmail for RegistryLock emails (#2122)

This commit is contained in:
Weimin Yu
2023-08-24 15:18:47 -04:00
committed by GitHub
parent a91ed0f1ad
commit bcb2b2c784
5 changed files with 27 additions and 25 deletions
@@ -35,6 +35,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions;
import com.google.cloud.tasks.v2.HttpMethod;
import com.google.common.collect.ImmutableSet;
import google.registry.groups.GmailClient;
import google.registry.model.domain.Domain;
import google.registry.model.domain.RegistryLock;
import google.registry.model.host.Host;
@@ -48,7 +49,6 @@ import google.registry.testing.FakeClock;
import google.registry.testing.FakeResponse;
import google.registry.tools.DomainLockUtils;
import google.registry.util.EmailMessage;
import google.registry.util.SendEmailService;
import google.registry.util.StringGenerator.Alphabets;
import java.util.Optional;
import javax.mail.internet.InternetAddress;
@@ -85,7 +85,7 @@ public class RelockDomainActionTest {
private Domain domain;
private RegistryLock oldLock;
@Mock private SendEmailService sendEmailService;
@Mock private GmailClient gmailClient;
private RelockDomainAction action;
@BeforeEach
@@ -107,7 +107,7 @@ public class RelockDomainActionTest {
@AfterEach
void afterEach() {
verifyNoMoreInteractions(sendEmailService);
verifyNoMoreInteractions(gmailClient);
}
@Test
@@ -260,7 +260,7 @@ public class RelockDomainActionTest {
ImmutableSet.of(new InternetAddress("Marla.Singer.RegistryLock@crr.com")))
.setFrom(new InternetAddress("outgoing@example.com"))
.build();
verify(sendEmailService).sendEmail(expectedEmail);
verify(gmailClient).sendEmail(expectedEmail);
}
private void assertNonTransientFailureEmail(String exceptionMessage) throws Exception {
@@ -294,7 +294,7 @@ public class RelockDomainActionTest {
.setRecipients(recipients)
.setFrom(new InternetAddress("outgoing@example.com"))
.build();
verify(sendEmailService).sendEmail(expectedEmail);
verify(gmailClient).sendEmail(expectedEmail);
}
private void assertTaskEnqueued(int numAttempts) {
@@ -328,7 +328,7 @@ public class RelockDomainActionTest {
alertRecipientAddress,
gSuiteOutgoingAddress,
"support@example.com",
sendEmailService,
gmailClient,
domainLockUtils,
response);
}
@@ -33,6 +33,7 @@ import com.google.appengine.api.users.User;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import google.registry.groups.GmailClient;
import google.registry.model.console.RegistrarRole;
import google.registry.model.console.UserRoles;
import google.registry.model.domain.Domain;
@@ -54,7 +55,6 @@ import google.registry.testing.DeterministicStringGenerator;
import google.registry.testing.FakeClock;
import google.registry.tools.DomainLockUtils;
import google.registry.util.EmailMessage;
import google.registry.util.SendEmailService;
import google.registry.util.StringGenerator.Alphabets;
import java.util.Map;
import java.util.Optional;
@@ -97,7 +97,7 @@ final class RegistryLockPostActionTest {
private Domain domain;
private RegistryLockPostAction action;
@Mock SendEmailService emailService;
@Mock GmailClient gmailClient;
@Mock HttpServletRequest mockRequest;
@Mock HttpServletResponse mockResponse;
@@ -510,12 +510,12 @@ final class RegistryLockPostActionTest {
private void assertFailureWithMessage(Map<String, ?> response, String message) {
assertThat(response)
.containsExactly("status", "ERROR", "results", ImmutableList.of(), "message", message);
verifyNoMoreInteractions(emailService);
verifyNoMoreInteractions(gmailClient);
}
private void verifyEmail(String recipient) throws Exception {
ArgumentCaptor<EmailMessage> emailCaptor = ArgumentCaptor.forClass(EmailMessage.class);
verify(emailService).sendEmail(emailCaptor.capture());
verify(gmailClient).sendEmail(emailCaptor.capture());
EmailMessage sentMessage = emailCaptor.getValue();
assertThat(sentMessage.subject()).matches("Registry (un)?lock verification");
assertThat(sentMessage.body()).matches(EMAIL_MESSAGE_TEMPLATE);
@@ -545,7 +545,7 @@ final class RegistryLockPostActionTest {
jsonActionRunner,
authResult,
registrarAccessor,
emailService,
gmailClient,
domainLockUtils,
outgoingAddress);
}