Author: tmortagne
Date: 2008-02-15 16:14:10 +0100 (Fri, 15 Feb 2008)
New Revision: 7756

Modified:
   xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/
   
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/AllTests.java
   
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPConnectionTest.java
   
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
   
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/framework/XWikiLDAPTestSetup.java
Log:
XE-194: 
* add test
* javadoc/checkstyle fixes on tests


Property changes on: 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests
___________________________________________________________________
Name: svn:ignore
   - target
.classpath
.project

   + target
.classpath
.project
.checkstyle


Modified: 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/AllTests.java
===================================================================
--- 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/AllTests.java
       2008-02-15 15:12:34 UTC (rev 7755)
+++ 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/AllTests.java
       2008-02-15 15:14:10 UTC (rev 7756)
@@ -20,7 +20,6 @@
 package com.xpn.xwiki.it;
 
 import com.xpn.xwiki.it.framework.XWikiLDAPTestSetup;
-import com.xpn.xwiki.test.XWikiTestSetup;
 
 import junit.framework.Test;
 import junit.framework.TestCase;
@@ -35,8 +34,15 @@
  */
 public class AllTests extends TestCase
 {   
+    /**
+     * The pattern to filter the tests to launch.
+     */
     private static final String PATTERN = ".*" + System.getProperty("pattern", 
"");
 
+    /**
+     * @return the test suite.
+     * @throws Exception error when creation the tests suite.
+     */
     public static Test suite() throws Exception
     {
         TestSuite suite = new TestSuite();

Modified: 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPConnectionTest.java
===================================================================
--- 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPConnectionTest.java
        2008-02-15 15:12:34 UTC (rev 7755)
+++ 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPConnectionTest.java
        2008-02-15 15:14:10 UTC (rev 7756)
@@ -6,34 +6,42 @@
 import com.xpn.xwiki.plugin.ldap.XWikiLDAPConnection;
 
 /**
- * Tests [EMAIL PROTECTED] XWikiLDAPConnectionTest};
+ * Tests [EMAIL PROTECTED] XWikiLDAPConnectionTest}.
  * 
  * @version $Id: $
  */
 public class XWikiLDAPConnectionTest extends TestCase
 {
     /**
-     * Initialize the server.
+     * [EMAIL PROTECTED]
+     *
+     * @see junit.framework.TestCase#setUp()
      */
     public void setUp() throws Exception
     {
-        
+
     }
 
+    /**
+     * Test open and close of the LDAP connection.
+     */
     public void testOpenClose()
     {
         int port = XWikiLDAPTestSetup.getLDAPPort();
-        
+
         XWikiLDAPConnection connection = new XWikiLDAPConnection();
-       
+
         assertTrue("LDAP connection failed", connection.open("localhost", port,
-            "cn=Horatio Hornblower,ou=people,o=sevenSeas", "pass", null, 
false));
+            XWikiLDAPTestSetup.HORATIOHORNBLOWER_DN, 
XWikiLDAPTestSetup.HORATIOHORNBLOWER_PWD,
+            null, false));
 
         connection.close();
     }
 
     /**
-     * Shutdown the server.
+     * [EMAIL PROTECTED]
+     *
+     * @see junit.framework.TestCase#tearDown()
      */
     public void tearDown() throws Exception
     {

Modified: 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
===================================================================
--- 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
     2008-02-15 15:12:34 UTC (rev 7755)
+++ 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/XWikiLDAPUtilsTest.java
     2008-02-15 15:14:10 UTC (rev 7756)
@@ -1,11 +1,6 @@
 package com.xpn.xwiki.it;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 import junit.framework.TestCase;
 
@@ -21,29 +16,36 @@
 import com.xpn.xwiki.web.XWikiEngineContext;
 
 /**
- * Tests [EMAIL PROTECTED] XWikiLDAPUtilsTest};
+ * Tests [EMAIL PROTECTED] XWikiLDAPUtilsTest}.
  * 
  * @version $Id: $
  */
 public class XWikiLDAPUtilsTest extends TestCase
 {
+    /**
+     * The name of the group cache.
+     */
+    public static final String GROUPCACHE8NAME = "groups";
+
+    /**
+     * The LDAP connection tool.
+     */
     private XWikiLDAPConnection connection = new XWikiLDAPConnection();
 
+    /**
+     * The LDAP tool.
+     */
     private XWikiLDAPUtils ldapUtils = new XWikiLDAPUtils(connection);
 
+    /**
+     * The XWiki context.
+     */
     private XWikiContext context;
 
-    private static Set HMSLYDIA_MEMBERS = new HashSet();
-
-    static {
-        HMSLYDIA_MEMBERS.add("cn=Horatio Hornblower,ou=people,o=sevenSeas");
-        HMSLYDIA_MEMBERS.add("cn=William Bush,ou=people,o=sevenSeas");
-        HMSLYDIA_MEMBERS.add("cn=Thomas Quist,ou=people,o=sevenSeas");
-        HMSLYDIA_MEMBERS.add("cn=Moultrie Crystal,ou=people,o=sevenSeas");
-    }
-
     /**
-     * Initialize the server.
+     * [EMAIL PROTECTED]
+     * 
+     * @see junit.framework.TestCase#setUp()
      */
     public void setUp() throws Exception
     {
@@ -52,67 +54,89 @@
         new XWiki(new XWikiConfig(), this.context)
         {
             private XWikiCacheService cacheService;
-            
+
             public void initXWiki(XWikiConfig config, XWikiContext context,
-                XWikiEngineContext engine_context, boolean noupdate) throws 
XWikiException
+                XWikiEngineContext enginecontext, boolean noupdate) throws 
XWikiException
             {
                 context.setWiki(this);
                 setConfig(config);
             }
-            
+
             public XWikiCacheService getCacheService()
             {
                 if (this.cacheService == null) {
                     cacheService = new OSCacheService();
-                    
                     cacheService.init(this);
                 }
-                
+
                 return cacheService;
             }
         };
-        
+
         
this.ldapUtils.setUidAttributeName(XWikiLDAPTestSetup.LDAP_USERUID_FIELD);
-        
+
         int port = XWikiLDAPTestSetup.getLDAPPort();
-        
-        this.connection.open("localhost", port,
-            "cn=Horatio Hornblower,ou=people,o=sevenSeas", "pass", null, 
false);
+
+        this.connection.open("localhost", port, 
XWikiLDAPTestSetup.HORATIOHORNBLOWER_DN,
+            XWikiLDAPTestSetup.HORATIOHORNBLOWER_PWD, null, false);
     }
 
+    /**
+     * Verify if the user uid attribute name has been correctly set.
+     */
     public void testGetUidAttributeName()
     {
         assertSame("Wrong uid attribute name", 
XWikiLDAPTestSetup.LDAP_USERUID_FIELD,
             this.ldapUtils.getUidAttributeName());
     }
 
+    /**
+     * Verify that the cache is not created each time it's getted.
+     * 
+     * @throws XWikiException error when getting the cache.
+     */
     public void testGetCache() throws XWikiException
     {
         assertTrue("Cache is recreated",
-            this.ldapUtils.getCache("cache_name", this.context) == 
this.ldapUtils.getCache(
-                "cache_name", this.context));
+            this.ldapUtils.getCache(GROUPCACHE8NAME, this.context) == 
this.ldapUtils.getCache(
+                GROUPCACHE8NAME, this.context));
     }
 
-    public void testGetGroupMembers()
+    /**
+     * Test [EMAIL PROTECTED] XWikiLDAPUtils#getGroupMembers(String, 
XWikiContext)}.
+     * 
+     * @throws XWikiException error when getting group members from cache.
+     */
+    public void testGetGroupMembers() throws XWikiException
     {
-        List subGroups = new ArrayList();
-        Map members = new HashMap();
+        Map members =
+            this.ldapUtils.getGroupMembers(XWikiLDAPTestSetup.HMSLYDIA_DN, 
this.context);
 
-        assertTrue("Fail to get members", this.ldapUtils.getGroupMembers(
-            "cn=HMS Lydia,ou=crews,ou=groups,o=sevenSeas", members, subGroups, 
this.context));
-
         assertFalse("No member was found", members.isEmpty());
 
-        assertTrue("Wrong members was found", 
HMSLYDIA_MEMBERS.equals(members.keySet()));
+        assertTrue("Wrong members was found", 
XWikiLDAPTestSetup.HMSLYDIA_MEMBERS.equals(members
+            .keySet()));
     }
 
-    public void testIsUserInGroup()
+    /**
+     * Test [EMAIL PROTECTED] XWikiLDAPUtils#isUserInGroup(String, String, 
XWikiContext)}.
+     * 
+     * @throws XWikiException error when getting group members from cache.
+     */
+    public void testIsUserInGroup() throws XWikiException
     {
-        
+        String userDN =
+            
this.ldapUtils.isUserInGroup(XWikiLDAPTestSetup.HORATIOHORNBLOWER_UID,
+                XWikiLDAPTestSetup.HMSLYDIA_DN, this.context);
+
+        assertNotNull("Users not found", userDN);
+        assertEquals(XWikiLDAPTestSetup.HORATIOHORNBLOWER_DN, userDN);
     }
 
     /**
-     * Shutdown the server.
+     * [EMAIL PROTECTED]
+     *
+     * @see junit.framework.TestCase#tearDown()
      */
     public void tearDown() throws Exception
     {

Modified: 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/framework/XWikiLDAPTestSetup.java
===================================================================
--- 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/framework/XWikiLDAPTestSetup.java
   2008-02-15 15:12:34 UTC (rev 7755)
+++ 
xwiki-products/xwiki-enterprise/trunk/distribution-test/ldap-tests/src/test/it/com/xpn/xwiki/it/framework/XWikiLDAPTestSetup.java
   2008-02-15 15:14:10 UTC (rev 7756)
@@ -18,7 +18,6 @@
 
 import junit.framework.Test;
 
-import com.xpn.xwiki.plugin.ldap.XWikiLDAPConnection;
 import com.xpn.xwiki.test.XWikiTestSetup;
 
 /**
@@ -37,25 +36,86 @@
  */
 public class XWikiLDAPTestSetup extends XWikiTestSetup
 {
+    /**
+     * The name of the LDAP property containing user unique id.
+     */
     public static final String LDAP_USERUID_FIELD = "uid";
 
-    public static final String PROPNAME_LDAPPORT = "ldap_port";
+    /**
+     * The name of the system property containing the LDAP embedded server 
port.
+     */
+    public static final String SYSPROPNAME_LDAPPORT = "ldap_port";
 
+    /**
+     * The directory where is the instance of XWiki Enterprise used for theses 
tests.
+     */
     public static final String EXECUTION_DIRECTORY =
         System.getProperty("xwikiExecutionDirectory");
 
+    /**
+     * The xwiki.cfg file used by the instance of XWiki Enterprise used for 
theses tests. 
+     */
     public static final String XWIKI_CFG_FILE =
         EXECUTION_DIRECTORY + "/webapps/xwiki/WEB-INF/xwiki.cfg";
 
+    // Somes datas examples
+
+    /**
+     * The LDAP DN of user Horatio Hornblower.
+     */
+    public static final String HORATIOHORNBLOWER_DN =
+        "cn=Horatio Hornblower,ou=people,o=sevenSeas";
+
+    /**
+     * The LDAP password of user Horatio Hornblower.
+     */
+    public static final String HORATIOHORNBLOWER_PWD = "pass";
+
+    /**
+     * The LDAP unique id of user Horatio Hornblower.
+     */
+    public static final String HORATIOHORNBLOWER_UID = "hhornblo";
+
+    /**
+     * The LDAP DN of group HMS Lydia.
+     */
+    public static final String HMSLYDIA_DN = "cn=HMS 
Lydia,ou=crews,ou=groups,o=sevenSeas";
+
+    /**
+     * The LDAP members of group HMS Lydia.
+     */
+    public static final Set HMSLYDIA_MEMBERS = new HashSet();
+
+    static {
+        HMSLYDIA_MEMBERS.add(XWikiLDAPTestSetup.HORATIOHORNBLOWER_DN);
+        HMSLYDIA_MEMBERS.add("cn=William Bush,ou=people,o=sevenSeas");
+        HMSLYDIA_MEMBERS.add("cn=Thomas Quist,ou=people,o=sevenSeas");
+        HMSLYDIA_MEMBERS.add("cn=Moultrie Crystal,ou=people,o=sevenSeas");
+    }
+
+    // ///
+
+    /**
+     * Tool to start and stop embedded LDAP server.
+     */
     private LDAPRunner ldap = new LDAPRunner();
 
+    /**
+     * The default xwiki.cfg properties.
+     */
     private Properties initialXWikiConf;
 
+    /**
+     * The xwiki.cfg properties modified for the test.
+     */
     private Properties currentXWikiConf;
 
+    /**
+     * @return return the port of the current instance of LDAP server.
+     */
     public static int getLDAPPort()
     {
-        return Integer.parseInt(System.getProperty(PROPNAME_LDAPPORT));
+        return Integer.parseInt(System.getProperty(SYSPROPNAME_LDAPPORT));
     }
 
     public XWikiLDAPTestSetup(Test test) throws IOException
@@ -107,7 +167,7 @@
     {
         this.ldap.start();
 
-        System.setProperty(PROPNAME_LDAPPORT, "" + ldap.getPort());
+        System.setProperty(SYSPROPNAME_LDAPPORT, "" + ldap.getPort());
         this.currentXWikiConf.setProperty("xwiki.authentication.ldap.port", "" 
+ ldap.getPort());
 
         FileOutputStream fos = new FileOutputStream(XWIKI_CFG_FILE);
@@ -134,6 +194,11 @@
     }
 }
 
+/**
+ * Tool to start and stop embedded LDAP server.
+ * 
+ * @version $Id: $
+ */
 class LDAPRunner extends AbstractServerTest
 {
     /**
@@ -186,11 +251,6 @@
 
         // Load a demo ldif file
         importLdif(this.getClass().getResourceAsStream("init.ldif"));
-
-        XWikiLDAPConnection connection = new XWikiLDAPConnection();
-
-        connection.open("localhost", this.port, "cn=Horatio 
Hornblower,ou=people,o=sevenSeas",
-            "pass", null, false);
     }
 
     /**

_______________________________________________
notifications mailing list
notifications@xwiki.org
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to