diff --git a/README.adoc b/README.adoc
index 01f5243..0c0de35 100644
--- a/README.adoc
+++ b/README.adoc
@@ -113,10 +113,10 @@ A1 OK [READ-WRITE] Completed
Some simple integration tests are available via:
----
-$ sbt test
+$ sbt GatlingIt/test
----
-Finally execute your gatling scenarios:
+Finally, execute your gatling scenarios:
----
$ sbt gatling:test
diff --git a/src/it/resources/james-conf/imapserver.xml b/src/it/resources/james-conf/imapserver.xml
new file mode 100644
index 0000000..370184f
--- /dev/null
+++ b/src/it/resources/james-conf/imapserver.xml
@@ -0,0 +1,24 @@
+
+
+
+ imapserver
+ 0.0.0.0:143
+ 200
+
+ file://conf/keystore
+ PKCS12
+ james72laBalle
+ org.bouncycastle.jce.provider.BouncyCastleProvider
+
+ 0
+ 0
+ 120
+ SECONDS
+ true
+ false
+
+ true
+
+ true
+
+
diff --git a/src/it/resources/james-conf/jwt_privatekey b/src/it/resources/james-conf/jwt_privatekey
new file mode 100644
index 0000000..a7fd753
--- /dev/null
+++ b/src/it/resources/james-conf/jwt_privatekey
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----
diff --git a/src/it/resources/james-conf/jwt_publickey b/src/it/resources/james-conf/jwt_publickey
new file mode 100644
index 0000000..a6102ef
--- /dev/null
+++ b/src/it/resources/james-conf/jwt_publickey
@@ -0,0 +1,14 @@
+-----BEGIN PUBLIC KEY-----
+MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAubqHygJu1wvhKH4ctiT0
+3u2E/OotP6qOh+lc0UZTeT9tSvpwAqc+5QZvbo1eQNEzeNkgFazCLJTV2YKfZClw
+YDwjTiWgVOUDMVVpDZrYnKiEgTAdrlO3iWg2bDMLlgcnbGxEXlzUQcj0vZiDNajK
+TqC3NvgdgLtdW31akbTS5vIR4v7/yC1AS11PrEjEKofKYuMaAPAX/MBsWK/gYodr
+tl+AIVUNLi/J8/Gen34oQi/346s9FxrDqvbFdH5caXyaMTmhPKDXc72YSn1cVSct
+epXllLlauLBoLi4+o+STbDzgfkTypHiAttCk38vy5mNdJpTH40vyCyq3gKVzLLqD
+/BNh5EMTKHs3HDZ9TRmFRyoxzeG15dNwOJxQfre9ZN06QbQOXr1sJkfAFCM5vzox
+7Fie3ShrYFdOTunGS9W01NBrcT6TB57xpJftDhYRfm5XbbOB+v7bmBGmqxJh0j1I
+F1os48f+LvSA1p7L4OrWwym1UVLqtl7brI7aNMbrnRzkVVJbvj+/NF+HOBfQ24pf
+FtaZ1+H3nvUP68YCk8cnl2XcABB1GyW6Adbwz8F2ojIgJGGEPVjga6YghgY5YBgj
+zfIoxPvQS9JEdx6n6Qk3q2Epa3yuMe5s1eBSoCiaNuJZ3yiyTj6fXGvaBYxo/uSS
+0kQCecXUl1KG2yFy1BRsYdMCAwEAAQ==
+-----END PUBLIC KEY-----
diff --git a/src/it/resources/james-conf/keystore b/src/it/resources/james-conf/keystore
new file mode 100644
index 0000000..361cd01
Binary files /dev/null and b/src/it/resources/james-conf/keystore differ
diff --git a/src/it/resources/james-conf/smtpserver.xml b/src/it/resources/james-conf/smtpserver.xml
new file mode 100644
index 0000000..604fa00
--- /dev/null
+++ b/src/it/resources/james-conf/smtpserver.xml
@@ -0,0 +1,35 @@
+
+
+
+ smtpserver-startTLS
+ 0.0.0.0:587
+ 200
+
+ file://conf/keystore
+ PKCS12
+ james72laBalle
+ org.bouncycastle.jce.provider.BouncyCastleProvider
+ SunX509
+
+ 360
+ 0
+ 0
+
+ forUnauthorizedAddresses
+ false
+ true
+
+ 127.0.0.0/8
+
+ false
+ 0
+ true
+ Apache JAMES awesome SMTP Server
+
+
+
+
+
+
+
+
diff --git a/src/it/resources/james-conf/webadmin.properties b/src/it/resources/james-conf/webadmin.properties
new file mode 100644
index 0000000..e7bfc8e
--- /dev/null
+++ b/src/it/resources/james-conf/webadmin.properties
@@ -0,0 +1,32 @@
+enabled=true
+port=8000
+host=0.0.0.0
+
+# Defaults to false
+https.enabled=false
+
+# Compulsory when enabling HTTPS
+#https.keystore=/path/to/keystore
+#https.password=password
+
+# Optional when enabling HTTPS (self signed)
+#https.trust.keystore
+#https.trust.password
+
+# Defaults to false
+#jwt.enabled=true
+#
+## If you wish to use OAuth authentication, you should provide a valid JWT public key.
+## The following entry specify the link to the URL of the public key file,
+## which should be a PEM format file.
+##
+#jwt.publickeypem.url=file://conf/jwt_publickey
+
+# Defaults to false
+#cors.enable=true
+#cors.origin
+
+# List of fully qualified class names that should be exposed over webadmin
+# in addition to your product default routes. Routes needs to be located
+# within the classpath or in the ./extensions-jars folder.
+#extensions.routes=
\ No newline at end of file
diff --git a/src/it/scala-2.12/com/linagora/gatling/imap/JamesServer.scala b/src/it/scala-2.12/com/linagora/gatling/imap/JamesServer.scala
index 9f57fa0..bab3cd3 100644
--- a/src/it/scala-2.12/com/linagora/gatling/imap/JamesServer.scala
+++ b/src/it/scala-2.12/com/linagora/gatling/imap/JamesServer.scala
@@ -5,6 +5,7 @@ import java.net.URL
import com.linagora.gatling.imap.protocol.{Domain, User}
import org.slf4j.{Logger, LoggerFactory}
import org.testcontainers.containers.GenericContainer
+import org.testcontainers.utility.MountableFile
import scala.concurrent.Await
import scala.concurrent.duration._
@@ -37,7 +38,13 @@ object JamesServer extends Server {
}
def start(): RunningServer = {
- val james = new GenericContainer("linagora/james-memory")
+ val james = new GenericContainer("linagora/tmail-backend:memory-0.4.3")
+ james.withCopyFileToContainer(MountableFile.forClasspathResource("james-conf/jwt_privatekey"), "/root/conf/")
+ james.withCopyFileToContainer(MountableFile.forClasspathResource("james-conf/jwt_publickey"), "/root/conf/")
+ james.withCopyFileToContainer(MountableFile.forClasspathResource("james-conf/webadmin.properties"), "/root/conf/")
+ james.withCopyFileToContainer(MountableFile.forClasspathResource("james-conf/keystore"), "/root/conf/")
+ james.withCopyFileToContainer(MountableFile.forClasspathResource("james-conf/imapserver.xml"), "/root/conf/")
+ james.withCopyFileToContainer(MountableFile.forClasspathResource("james-conf/smtpserver.xml"), "/root/conf/")
james.addExposedPorts(jmapPort, imapPort, smtpPort, webadminPort)
james.start()
new RunningJamesServer(james)