LDAP-56: Build server should run server-specific integration tests
["Ulrik Sandberg":https://jira.spring.io/secure/ViewProfile.jspa?name=ulsa](Migrated from ["LDAP-56":https://jira.spring.io/browse/LDAP-56?redirect=false]) said:
The Bamboo server currently runs unit tests and integration tests at every checkin. However, there are a few integration tests that require a directory server that supports other controls than ApacheDS. These run on an OpenLDAP server. It would feel a lot better if those tests were run "continuously" as well.
["Jasper Blues":https://jira.spring.io/secure/ViewProfile.jspa?name=jasper.blues] said:
OpenDS is another fairly robust and feature complete directory server. I've made some investigations and progress and running it as an embedded server. These include:
- Getting the OpenDS.jar and pom file in the Maven2 Repository, so that it can be retrieved as a regular dependency
- Determining a minimal set of config files for the server environment, such that they could be checked into the itest/resources folder
- Writing a spring based bootstrapper so that configuration management can be done using spring
- Configuring the server such that that actual database resides in the target folder (so it can easily be blown away)
- Extracting an interface form LdapServerManager.java, and writing an OpenDS impl (so that clean, setup, etc are implemented).
OpenDS, being java based would allow integration tests to be easily run (ie no special setup) locally as well as on the build server.
I'm hoping to have this ready soon.
It would probably be pretty good of the build server ran integration tests against all three Directory Servers - ApacheDS, OpenLDAP, OpenDS.
Mattias Hellborg Arthursson said:
This applies to the other server-specific tests (ad, sunone, etc.) as well. Also, the generic integration tests that we currently run against the internal Apache DS will also should also be run against all other server types that we can get in e.g. a nightly build. It will have to be postponed until after the 1.3.2 release though.
Mattias Hellborg Arthursson said:
It is now possible to run the integration tests against an arbitrary external LDAP server, with configurable url, userDn, password, and base path. A specific configuration is also available for Active Directory, disabling tests that test functionality that is not supported or very hard to configure for Active Directory. For instance, multi-value RDNs are not supported in Active Directory, and due to user and password policies authentication is not possible to test using the default test ldif fixture.