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 :
$ sbt > gatling:test
Run a specific scenario via sbt :
$ sbt > gatling:testOnly SCENARIO_FQDN
FQDN :
org.apache.james.gatling.jmap.scenari.JmapAuthenticationScenario
Authenticate 10 JMAP users, one time. Demonstrate user auto-provisioning through James WebAdmin server.
FQDN :
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.
FQDN :
org.apache.james.gatling.jmap.scenari.JmapSendMessagesScenario
Authenticate 200 JMAP users, one time. Then they all retrieve 360 times their mailboxes each.
FQDN :
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.
FQDN :
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.
FQDN :
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