https://github.com/mailslurp/examples
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>java-maven-junit4</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.mailslurp</groupId>
<artifactId>mailslurp-client-java</artifactId>
<version>11.5.10</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
# Email testing
See [examples repository](https://github.com/mailslurp/examples) for source.
-include ../.env
test:
API_KEY=$(API_KEY) mvn install test
package com.mailslurp.examples;
import com.mailslurp.api.api.InboxControllerApi;
import com.mailslurp.api.api.WaitForControllerApi;
import com.mailslurp.client.ApiClient;
import com.mailslurp.client.Configuration;
import com.mailslurp.models.Email;
import com.mailslurp.models.Inbox;
import com.mailslurp.models.SendEmailOptions;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.junit.BeforeClass;
import org.junit.Test;
import static java.util.Collections.singletonList;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
public class ExampleUsageTest {
private final static String YOUR_API_KEY = System.getenv("API_KEY");
private static final Boolean UNREAD_ONLY = true;
private static final Long TIMEOUT_MILLIS = 30000L;
@BeforeClass
public static void Setup() {
assertNotNull(YOUR_API_KEY);
}
@Test
public void CanCreateInboxes() throws Exception {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setApiKey(YOUR_API_KEY);
InboxControllerApi inboxControllerApi = new InboxControllerApi(defaultClient);
Inbox inbox = inboxControllerApi.createInbox(null, null, null, null, null, null);
// verify inbox
assertEquals(inbox.getEmailAddress().contains("@mailslurp.com"), true);
assertNotNull(inbox.getId());
}
@Test
public void CanSendEmails() throws Exception {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setApiKey(YOUR_API_KEY);
InboxControllerApi inboxControllerApi = new InboxControllerApi(defaultClient);
Inbox inbox = inboxControllerApi.createInbox(null, null, null, null, null, null);
SendEmailOptions sendEmailOptions = new SendEmailOptions()
.to(singletonList(inbox.getEmailAddress()))
.subject("Test")
.body("Hello");
inboxControllerApi.sendEmail(inbox.getId(), sendEmailOptions);
}
@Test
public void CanReceiveEmail() throws Exception {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setApiKey(YOUR_API_KEY);
InboxControllerApi inboxControllerApi = new InboxControllerApi(defaultClient);
Inbox inbox1 = inboxControllerApi.createInbox(null, null, null, null, null, null);
Inbox inbox2 = inboxControllerApi.createInbox(null, null, null, null, null, null);
SendEmailOptions sendEmailOptions = new SendEmailOptions()
.to(singletonList(inbox2.getEmailAddress()))
.subject("Hello inbox2")
.body("Your code is: 123");
inboxControllerApi.sendEmail(inbox1.getId(), sendEmailOptions);
WaitForControllerApi waitForControllerApi = new WaitForControllerApi(defaultClient);
Email email = waitForControllerApi.waitForLatestEmail(inbox2.getId(), TIMEOUT_MILLIS, UNREAD_ONLY);
assertEquals(email.getSubject(), "Hello inbox2");
assertEquals(email.getBody().contains("Your code is:"), true);
Pattern p = Pattern.compile("Your code is: ([0-9]{3})");
Matcher m = p.matcher(email.getBody());
m.find();
String code = m.group(1);
assertEquals(code, "123");
}
}