/*
* oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
*
* Copyright (c) 2014, Gluu
*/
package org.xdi.oxauth.dev;
import java.io.File;
import java.util.Date;
import java.util.Properties;
import org.gluu.site.ldap.LDAPConnectionProvider;
import org.gluu.site.ldap.OperationsFacade;
import org.gluu.site.ldap.persistence.LdapEntryManager;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.xdi.oxauth.model.registration.Client;
import org.xdi.util.properties.FileConfiguration;
import org.xdi.util.security.PropertiesDecrypter;
import org.xdi.util.security.StringEncrypter;
/**
* Test for manual run. Used for development purpose ONLY. Must not be run in
* suite. ATTENTION : To make life easier must not have dependency on embedded
* server.
*
* @author Yuriy Zabrovarnyy
* @version 0.9, 26/07/2012
*/
public class Manual {
public static String LDAP_CONF_FILE_NAME = "oxauth-ldap.properties";
public static final String CONF_FOLDER = "conf";
private static final String LDAP_FILE_PATH = CONF_FOLDER + File.separator + LDAP_CONF_FILE_NAME;
public static LdapEntryManager MANAGER = null;
@BeforeClass
public void init() {
final FileConfiguration fileConfiguration = new FileConfiguration(LDAP_FILE_PATH);
final Properties props = PropertiesDecrypter.decryptProperties(fileConfiguration.getProperties(), "passoword");
final LDAPConnectionProvider connectionProvider = new LDAPConnectionProvider(props);
MANAGER = new LdapEntryManager(new OperationsFacade(connectionProvider));
}
@AfterClass
public void destroy() {
MANAGER.getLdapOperationService().getConnectionPool().close();
}
@Test
public void addGroupsToClient() throws StringEncrypter.EncryptionException {
Client c = new Client();
c.setDn("inum=@!0000!0008!7652.0000,ou=clients,o=@!1111,o=gluu");
c.setClientId("@!0000!0008!7652.0000"); // inum
c.setClientName("web");
c.setApplicationType("web");
c.setClientSecretExpiresAt(new Date());
c.setClientSecret("00000000-0000-0000-0000-097337e87435");
c.setUserGroups(new String[] { "inum=@!1111!0003!D9B4,ou=groups,o=@!1111,o=gluu",
"inum=@!1111!0003!A3F4,ou=groups,o=@!1111,o=gluu" });
MANAGER.persist(c);
}
@Test
public void getGroupsFromClient() {
final Client client = MANAGER.find(Client.class, "inum=@!0000!0008!7652.0000,ou=clients,o=@!1111,o=gluu");
System.out.println(client);
}
}