}
private LdapServerRequest createServer()
throws Exception
{
LdapServerRequest serverRequest = new LdapServerRequest();
LdapServerConfigurationDTO dto = new LdapServerConfigurationDTO();
serverRequest.setData(dto);
dto.setId(null); // not set
dto.setName("testPost");
dto.setUrl(null); // set on the return, not the request
LdapConnectionInfoDTO connInfo = new LdapConnectionInfoDTO();
dto.setConnectionInfo(connInfo);
connInfo.setAuthScheme("ldap");
connInfo.setBackupMirrorHost("backupHost");
connInfo.setBackupMirrorPort(11111);
connInfo.setBackupMirrorProtocol("ldap");
connInfo.setCacheTimeout(30);
connInfo.setConnectionRetryDelay(300);
connInfo.setConnectionTimeout(15);
connInfo.setHost("localhost");
connInfo.setPort(386);
connInfo.setProtocol("ldap");
connInfo.setRealm("");
connInfo.setSearchBase("ou=searchbase");
connInfo.setSystemPassword(encodeBase64("systemPassword"));
connInfo.setSystemUsername(encodeBase64("systemUsername"));
LdapUserAndGroupAuthConfigurationDTO userGroupConf = new LdapUserAndGroupAuthConfigurationDTO();
dto.setUserAndGroupConfig(userGroupConf);
userGroupConf.setUserMemberOfAttribute("userMemberOfAttribute");
userGroupConf.setGroupBaseDn("groupBaseDn");
userGroupConf.setGroupIdAttribute("groupIdAttribute");
userGroupConf.setGroupMemberAttribute("groupMemberAttribute");
userGroupConf.setGroupMemberFormat("groupMemberFormat");
userGroupConf.setGroupObjectClass("groupObjectClass");
userGroupConf.setLdapGroupsAsRoles(true);
userGroupConf.setEmailAddressAttribute("emailAddressAttribute");
userGroupConf.setUserBaseDn("userBaseDn");
userGroupConf.setUserIdAttribute("userIdAttribute");
userGroupConf.setUserObjectClass("userObjectClass");
userGroupConf.setUserPasswordAttribute("userPasswordAttribute");
userGroupConf.setUserRealNameAttribute("userRealNameAttribute");
userGroupConf.setUserSubtree(true);
XStream xstream = this.getXMLXStream();
Response response = null;
try {
response = RequestFacade.sendMessage(
RequestFacade.SERVICE_LOCAL + "ldap/servers",
Method.POST,
new XStreamRepresentation(xstream, xstream.toXML(serverRequest), MediaType.APPLICATION_XML));
Assert.assertEquals(
"Expected status 201, found: " + response.getStatus(),
201,
response.getStatus().getCode());
LdapServerRequest ldapResponse = this.getFromResponse(LdapServerRequest.class, xstream, response);
Assert.assertNotNull(ldapResponse);
Assert.assertNotNull(ldapResponse.getData().getId());
return ldapResponse;
}
finally {
RequestFacade.releaseResponse(response);