Page History
...
To add such manual tests:
- clone sshhttps://git@gitgit.magnolia-cms.com/scm/platform/ce.pub.git
- depending on what needs to be tested, you can do a combination of:
- add templates in
magnolia-integration-tests-fixture-module/src/main/resources/mgnl-files/templates/test/manual
- declare those templates in
magnolia-integration-tests-fixture-module/src/main/resources/info/magnolia/test/config.properties
or viainfo.magnolia.test.SetupStuffForTests
. - in the template itself, describe what actions need to be performed for the test to be considered successful
- add a page with this template to the website, under
/manual-tests
, viamagnolia-integration-tests-fixture-module/src/main/resources/info/magnolia/test/website.properties
.
- add templates in
please take this into consideration if you find yourself creating many templates that have no purpose other than holding the test description: in the future, the current website.properties
file might be specialized (i.e use a custom, simpler, format, instead of the properties import format; additionally, the test description might figure in there instead of the template, especially for tests where templating isn't relevant); if you're in such case, feel free to do so yourself or give us a shout!
We have also provided "integration tests" for REST.
- Check out - https://git.magnolia-cms.com/scm/modules/rest.git
- We use Rest Assured to easy to test our API. See more syntax in its documentation https://github.com/rest-assured/rest-assured
- Add new integration tests under the path
/magnolia-rest-integration-tests/tests/src/test/java
- Launch the container by using "manual-test" profile:
mvn clean verify -Pjetty9-standalone,manual-tests
- Want to put some bootstrap dummy data? Put them under the folder
/magnolia-rest-integration-tests/magnolia-rest-test-webapp/src/main/webapp/WEB-INF/bootstrap/common
- In order to add more endpoints or override endpoint configuration. Find the configuration in the folder
/magnolia-rest-integration-tests/magnolia-rest-test-webapp/src/main/webapp/modules/rest-content-delivery/restEndpoints
Automated tests
We also have a suite of automated tests. They rely on the same process, but are executed differently:
...
- Testing of activation [Internal] that activates content and checks for results
- Crawling test [Internal] that requests all the pages and checks for rendering exceptions
- Log crawling test that reads logs and checks for rendering exceptions.
REST integration tests will be executed everytime the REST module is built - https://jenkins.magnolia-cms.com/job/m_rest/configure
Concurrent builds for bundles on Jenkins
...
When branching a bundle's master to the next major version, one should update these ports according to the pattern in the table above.
Since 2.0, REST integration tests also run on the cargo/test-webapp setup, therefore they also have to use unique ports:
CE bundle | |||
containerHttpPort | cargoRmiPort | cargoTomcatAjpPort | |
release/2.0 | 8396 | 8395 | 8394 |
release/2.1 | 8496 | 8495 | 8494 |
These ports are configured in: /rest/magnolia-rest-integration-tests/tests/pom.xml
Debugging
To debug these tests, one way to go is to start the container the same way as for the manual tests, with mvn clean verify -Pmanual-tests
, and run the tests from the IDE in debug mode.
Somehow, memory issues seem to arise, at least with EE, in the manual-tests mode. This seemed to have helped, not sure which statement exactly:
...