Package fr.norsys.mapper.jndi

Source Code of fr.norsys.mapper.jndi.NetXMLJNDISearchTest

package fr.norsys.mapper.jndi;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
import java.util.Map;

import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;
import javax.naming.directory.SearchControls;

import junit.framework.TestCase;
import fr.norsys.mapper.core.MapperException;
import fr.norsys.mapper.manager.MapperManager;
import fr.norsys.mapper.xml.XMLConfigurator;
import fr.norsys.mapper.xml.XMLConfiguratorException;

/**
* Integration testing class for XML configuration and
* execution of a search query.
* <p>
* This class executes  a simple scenario of querying the
* telephone, mail and full name of a user based
* on its name and surname. The query is executed
* on a true LDAP server.
* </p>
* <p>
* This class uses MockLdap as backend.
* </p>
* @author nono
*
*/
public class NetXMLJNDISearchTest extends TestCase {

 
  private XMLConfigurator xc;
  private MapperManager mgr;

  protected void setUp() throws Exception {
    super.setUp();
    this.xc = new XMLConfigurator();
    this.mgr = new MapperManager();
   
  }

  /**
   * Test raw LDAP query
   * @throws NamingException
   *
   */
  public void test00LDAP() throws NamingException {
    Hashtable ht = new Hashtable();
    ht.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
    ht.put(Context.PROVIDER_URL,"ldap://130.81.0.6/o=canam");
    ht.put(Context.SECURITY_PRINCIPAL,"cn=cdmread,ou=users,o=services");
    ht.put(Context.SECURITY_CREDENTIALS,"cdmread");
    DirContext dir = new InitialDirContext(ht);
    SearchControls ctls = new SearchControls();
    ctls.setReturningAttributes(null);
    ctls.setSearchScope(SearchControls.ONELEVEL_SCOPE);
    String filter = "(cn=ut050568)";
    NamingEnumeration ne = dir.search("ou=Personnes",filter,ctls);
    System.err.println(ne);
  }
 
  public void test01Base() throws MapperException, XMLConfiguratorException {
    // parse XML configuration file
    xc.parse(Thread.currentThread().getContextClassLoader().getResourceAsStream("jndi-sample-net.xml"));
    // configure manager
    this.xc.configure(this.mgr);
    this.mgr.set("user","cn=cdmread,ou=users,o=services");
    this.mgr.set("url","ldap://130.81.0.6/o=canam");
    this.mgr.set("pass","cdmread");
    this.mgr.setConfigured();
    this.mgr.start();
    // execute query
    SearchMapper sm = (SearchMapper)this.mgr.getMapper("telAndMail");
    /* populate input */
    Map input = new HashMap();
    input.put("pid", "ut050568");
    input.put("prenom", "Sandrine");
    List ret = sm.search(input,null);
    this.mgr.release(sm);
    assertEquals(1,ret.size());
    assertEquals("RICHART Jean-danielle",((Map)ret.get(0)).get("nom"));
  }
}
TOP

Related Classes of fr.norsys.mapper.jndi.NetXMLJNDISearchTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.