This a part of my ongoing series about writing integration tests with AEM.
In the last post on writing integration tests with AEM I quickly walked you through a simple test case for authoring instances, but I didn’t provide much context, what is going on exactly, and how it will be executed in Cloud Manager. That’s what I want to talk about today.
As we have seen, some relevant parameters for integration tests are provided are provided externally, most notable the URLs for the environment plus credentials.
In the pom.xml it looks like this:
Here you can see defaults, but you can simply override them by providing the exact values with the command line, as you already did in the previous post with overriding the URL of the authoring instance. The POM just introduces another indirection via properties which is technically not really necessary.
CloudManager works the same way: It invokes the maven-failsafe-plugin to execute the integration tests and provides overrides these default values with the correct data specific for that environment (including the admin credentials).
In detail, the urls are configured like this:
- sling.it.instance.url.1 = https://author-pxxxxx-eyyyyy.adobeaemcloud.net
- sling.it.instance.url.2 = https://publish-pxxxxx-eyyyyy.adobeaemcloud.net
This means that your tests acess the loadbalanced author cluster and the loadbalanced publish farm (including dispatcher!).
This has 2 implications:
- On your local installation you should have as well a dispatcher configured in front of the publish instance to have an identical setup
- You can use integration tests also to validate your publish dispatcher rules!
And armed with this knowledge I will show you in the next post how you can validate with integration tests, that your domain setup is configured correctly.