📄 dsmlcontexttest.java
字号:
package com.ca.jndiproviders.dsml;
import junit.framework.*;
import javax.naming.NamingException;
import javax.naming.NamingEnumeration;
import javax.naming.directory.*;
import java.util.*;
import java.io.*;
import com.ca.commons.naming.DXNamingEnumeration;
/**
* This code lovingly written by Chris.
*/
public class DsmlContextTest extends TestCase
{
/**
* @param name
*/
public DsmlContextTest(String name)
{
super(name);
}
/**
* @return
*/
public static Test suite()
{
return new TestSuite(DsmlContextTest.class);
}
/**
* @param args
*/
public static void main(String[] args)
{
junit.textui.TestRunner.run(suite());
}
/**
* Calls the DSML server directly. Does not go over the wire.
*/
public void testModifyRequest()
throws Exception
{
//assertEquals(modifyResponse, executeInternalDSMLRequest(modifyRequest1));
}
/**
* Calls the DSML server directly. Does not go over the wire.
*/
public void testSearchTreeRequest()
throws Exception
{
StringBuffer treeSearch = DsmlContext.constructSearchRequest("c=AU", "wholeSubtree", "neverDerefAliases", 0, 0, false, "(objectClass=*)", new String[]{"objectClass", "cn"});
assertXMLEquals(searchRequestSubTree, treeSearch.toString());
//System.out.println("------\n");
//System.out.println(treeSearch);
//System.out.println("\n------\n");
}
/**
* Calls the DSML server directly. Does not go over the wire.
*/
public void testSearchLevelRequest()
throws Exception
{
StringBuffer levelSearch = DsmlContext.constructSearchRequest("c=AU", "singleLevel", "derefInSearching", 0, 0, false, "(objectClass=*)", new String[]{"objectClass", "cn"});
//assertEquals(searchRequestSubTree, levelSearch.toString());
//System.out.println("---SINGLE LEVEL---\n");
//System.out.println(levelSearch);
//System.out.println("\n------\n");
}
/**
* Calls the DSML server directly. Does not go over the wire.
*/
public void testSearchEntry()
throws Exception
{
StringBuffer entrySearch = DsmlContext.constructSearchRequest("c=AU", "baseObject", "derefAlways", 0, 0, false, "(objectClass=*)", null);
//assertEquals(searchRequestSubTree, entrySearch.toString());
// System.out.println("--BASE OBJECT----\n");
// System.out.println(entrySearch);
// System.out.println("\n------\n");
}
private static String searchResponse1 = "" +
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
" <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"> \n" +
" <soapenv:Body>\n" +
" <batchResponse xmlns=\"urn:oasis:names:tc:DSML:2:0:core\">\n" +
" <searchResponse>\n" +
" <searchResultEntry dn=\"ou=Corporate,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Corporate</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" <value>top</value>\n" +
" <value>inetOrganizationalUnit</value>\n" +
" </attr>\n" +
" <attr name=\"description\">\n" +
" <value>a very nice org unit</value>\n" +
" <value>not at all like sales</value>\n" +
" <value>no charges were ever proved</value>\n" +
" <value>Clerical </value> fred</value>\n" +
" </attr>\n" +
" <attr name=\"password\">\n" +
" <value xsi:type=\"xsd:base64Binary\">YQBh</value> " +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Customer,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Customer</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Engineering,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Engineering</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Human Resources,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Human Resources</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Manufacturing,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Manufacturing</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Marketing,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Marketing</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Operations,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Operations</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" <value>top</value>\n" +
" <value>inetOrganizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Planning,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Planning</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Projects,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Projects</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=Services,o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Services</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultEntry dn=\"ou=\\\"Support\\\",o=DEMOCORP,c=AU\">\n" +
" <attr name=\"ou\">\n" +
" <value>Support</value>\n" +
" </attr>\n" +
" <attr name=\"objectClass\">\n" +
" <value>organizationalUnit</value>\n" +
" </attr>\n" +
" </searchResultEntry>\n" +
" <searchResultDone>\n" +
" <resultCode code=\"0\"/>\n" +
" </searchResultDone>\n" +
" </searchResponse>\n" +
" </batchResponse> \n" +
" </soapenv:Body>\n" +
" </soapenv:Envelope>";
private static String searchResponse2 = "" +
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
" <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"> \n" +
" <mydsml:soapenv:Body>\n" +
" <mydsml:batchResponse xmlns:mydsml=\"urn:oasis:names:tc:DSML:2:0:core\">\n" +
" <mydsml:searchResponse>\n" +
" <mydsml:searchResultEntry dn=\"ou=Corporate,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Corporate</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
" <mydsml:value>top</mydsml:value>\n" +
" <mydsml:value>inetOrganizationalUnit</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"description\">\n" +
" <mydsml:value>a very nice org unit</mydsml:value>\n" +
" <mydsml:value>not at all like sales</mydsml:value>\n" +
" <mydsml:value>no charges were ever proved</mydsml:value>\n" +
" <mydsml:value>Clerical </value> fred</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"password\">\n" +
" <mydsml:value xsi:type=\"xsd:base64Binary\">YQBh</mydsml:value> " +
" </mydsml:attr>\n" +
" </mydsml:searchResultEntry>\n" +
" <mydsml:searchResultEntry dn=\"ou=Customer,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Customer</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
" </mydsml:attr>\n" +
" </mydsml:searchResultEntry>\n" +
" <mydsml:searchResultEntry dn=\"ou=Engineering,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Engineering</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
" </mydsml:attr>\n" +
" </mydsml:searchResultEntry>\n" +
" <mydsml:searchResultEntry dn=\"ou=Human Resources,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Human Resources</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
" </mydsml:attr>\n" +
" </mydsml:searchResultEntry>\n" +
" <mydsml:searchResultEntry dn=\"ou=Manufacturing,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Manufacturing</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
" </mydsml:attr>\n" +
" </mydsml:searchResultEntry>\n" +
" <mydsml:searchResultEntry dn=\"ou=Marketing,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Marketing</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
" </mydsml:attr>\n" +
" </mydsml:searchResultEntry>\n" +
" <mydsml:searchResultEntry dn=\"ou=Operations,o=DEMOCORP,c=AU\">\n" +
" <mydsml:attr name=\"ou\">\n" +
" <mydsml:value>Operations</mydsml:value>\n" +
" </mydsml:attr>\n" +
" <mydsml:attr name=\"objectClass\">\n" +
" <mydsml:value>organizationalUnit</mydsml:value>\n" +
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -