We wrote some MPT (James' Mail Protocols Tests subproject) deployment tests to validate a James deployment.
It uses the External-James module, that uses environment variables to locate a remote IMAP server and run integration tests against it.
For that, the target James Server needs to be configured with a domain domain
and a user imapuser
with password password
. Read above documentation to see how you can do this.
You have to run MPT tests inside docker. As you need to use maven, the simplest option is to use james/parent image, and override the entry point ( as git and maven are already configured there ) :
$ export JAMES_ADDRESS=127.0.0.1 $ export JAMES_IMAP_PORT=143 $ export JAMES_SMTP_PORT=25
$ mvn -T 1C -DskipTests -pl org.apache.james:apache-james-mpt-external-james -am install $ mvn -T 1C -pl org.apache.james:apache-james-mpt-external-james test -Pintegration-tests
Where :
-
JAMES_IP: IP address or DNS entry for your James server
-
JAMES_IMAP_PORT: Port allocated to James' IMAP port (should be 143).
-
JAMES_SMTP_PORT: Port allocated to James' SMTP port (should be 25).