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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mailslurp.examples</groupId>
<artifactId>kotlin-test-example</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>com.mailslurp.examples kotlin-test-example</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<kotlin.version>1.4.30</kotlin.version>
<kotlin.code.style>official</kotlin.code.style>
<junit.version>4.12</junit.version>
</properties>
<dependencies>
<dependency>
<groupId>com.mailslurp</groupId>
<artifactId>mailslurp-client-kotlin</artifactId>
<version>11.7.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test-junit</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src/main/kotlin</sourceDirectory>
<testSourceDirectory>src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-plugin</artifactId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</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.apis.InboxControllerApi
import com.mailslurp.apis.WaitForControllerApi
import com.mailslurp.models.SendEmailOptions
import org.junit.Test
import org.junit.runner.RunWith
import org.junit.runners.JUnit4
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@RunWith(JUnit4::class)
class MailSlurpKotlinTest {
private val apiKey: String by lazy { System.getenv("API_KEY") }
@Test
fun `can create inboxes`() {
val inboxController = InboxControllerApi(apiKey)
val inbox = inboxController.createInbox(null, null, null, null, null, null, null, null, null)
assertTrue(inbox.emailAddress?.contains("@mailslurp") ?: false)
}
@Test
fun `can send and receive email`() {
// create inbox
val inboxController = InboxControllerApi(apiKey)
val waitForController = WaitForControllerApi(apiKey)
val inbox = inboxController.createInbox(null, null, null, null, null, null, null, null, null)
val testSubject = "test-subject"
val confirmation = inboxController.sendEmailAndConfirm(
inboxId = inbox.id!!,
sendEmailOptions = SendEmailOptions(
to = listOf(inbox.emailAddress!!),
subject = testSubject
)
)
assertEquals(confirmation.inboxId, inbox.id)
val email = waitForController.waitForLatestEmail(
inboxId = inbox.id!!,
timeout = 60_000,
unreadOnly = true
)
assertTrue(email.subject == "test-subject")
}
}