/james-gatling

Gatling tests for James email server

Primary LanguageScalaOtherNOASSERTION

Gatling tests for James server

For now the only tested protocol is JMAP.

For now, you need to have a running dockerized James JMAP server running on the same computer than your Gatling host. It needs to export the webAdmin over port 8000.

You can run all the scenari via sbt :

bash
$ sbt
 > gatling:test

Run a specific scenario via sbt :

bash
$ sbt
 > gatling:testOnly SCENARIO_FQDN

Available scenario

JmapAuthenticationScenario

FQDN :

scala
org.apache.james.gatling.jmap.scenari.JmapAuthenticationScenario

Authenticate 10 JMAP users, one time. Demonstrate user auto-provisioning through James WebAdmin server.

JmapSendMessagesScenario

FQDN :

scala
org.apache.james.gatling.jmap.scenari.JmapSendMessagesScenario

Authenticate 100 JMAP users, one time. Then they all retrieve their mailboxes, and then sends messages 360 messages each to other recipients.

JmapGetMailboxesScenario

FQDN :

scala
org.apache.james.gatling.jmap.scenari.JmapSendMessagesScenario

Authenticate 200 JMAP users, one time. Then they all retrieve 360 times their mailboxes each.

JmapGetMessageListScenario

FQDN :

scala
org.apache.james.gatling.jmap.scenari.JmapGetMessageListScenario

Authenticate 100 JMAP users, one time. Then they all retrieve their system mailboxes. Then they send each other 10 mails each at random. Then wait 30 seconds for mails to be delivered. Finally they retrieve 250 times each their mails list using GetMessagesList.

JmapGetMessagesScenario

FQDN :

scala
org.apache.james.gatling.jmap.scenari.JmapGetMessagesScenario

Authenticate 100 JMAP users, one time. Then they all retrieve their system mailboxes. Then they send each other 10 mails each at random. Then wait 30 seconds for mails to be delivered. They retrieve their mails list using GetMessagesList. Then they retrieve their mails 250 times, at random.

JmapGetMessagesScenario

FQDN :

scala
org.apache.james.gatling.jmap.scenari.JmapGetMessagesScenario

Authenticate 100 JMAP users, one time. Then they all retrieve their system mailboxes. Then they send each other 10 mails each at random. Then wait 30 seconds for mails to be delivered. They retrieve their mails list using GetMessagesList. Then they update their mail 250 times with the following properties :.

  • 70% mark mails as READ

  • 20% mark mails as ANSWERED

  • 10% mark mails as FLAGGED

NoAuthenticationNoEncryptionScenario

FQDN :

scala
org.apache.james.gatling.smtp.scenari.NoAuthenticationNoEncryptionScenario

Create 100 users, one time. Then they all send mails to their self, every seconds, using SMTP, without encryption and without authentication.