You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2003/08/25 03:06:14 UTC

cvs commit: jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security StartingSecurityServicesTest.java

epugh       2003/08/24 18:06:14

  Modified:    security/src/test/org/apache/fulcrum/security/spi/memory/simple
                        MemoryRoleManagerTest.java
                        MemoryPermissionManagerTest.java
                        MemoryGroupManagerTest.java
                        MemoryUserManagerTest.java
               security/src/test/org/apache/fulcrum/security/model/simple/manager
                        AbstractRoleManagerTest.java
                        AbstractPermissionManagerTest.java
                        AbstractUserManagerTest.java
               security/src/test SimpleHibernate.xml
               security/src/test/org/apache/fulcrum/security
                        StartingSecurityServicesTest.java
  Added:       security/src/test/org/apache/fulcrum/security/authenticator
                        TextMatchAuthenticatorTest.java
                        NoOpAuthenticatorTest.java
                        CryptoAuthenticatorTest.java
               security/src/test SimpleMemory.xml CryptoAuthenticator.xml
                        SimpleNT.xml
               security/src/test/org/apache/fulcrum/security/spi/nt/simple
                        NTUserManagerTest.java
  Removed:     security/src/test InMemorySecurity.xml
               security/src/test/org/apache/fulcrum/security/examples
                        DemoMemorySecurityAndTurbine.java
  Log:
  Add new tests for pluggable authenticators and NT user manager.
  
  Revision  Changes    Path
  1.2       +1 -1      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryRoleManagerTest.java
  
  Index: MemoryRoleManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryRoleManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MemoryRoleManagerTest.java	24 Aug 2003 19:51:23 -0000	1.1
  +++ MemoryRoleManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -18,7 +18,7 @@
       public void doCustomSetup()
       {
           this.setRoleFileName(null);
  -        this.setConfigurationFileName("src/test/InMemorySecurity.xml");
  +        this.setConfigurationFileName("src/test/SimpleMemory.xml");
       }
       /**
       	* Constructor for MemoryPermissionManagerTest.
  
  
  
  1.2       +1 -1      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryPermissionManagerTest.java
  
  Index: MemoryPermissionManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryPermissionManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MemoryPermissionManagerTest.java	24 Aug 2003 19:51:23 -0000	1.1
  +++ MemoryPermissionManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -18,7 +18,7 @@
       public void doCustomSetup()
       {
           this.setRoleFileName(null);
  -        this.setConfigurationFileName("src/test/InMemorySecurity.xml");
  +        this.setConfigurationFileName("src/test/SimpleMemory.xml");
       }
       /**
       	* Constructor for MemoryPermissionManagerTest.
  
  
  
  1.2       +1 -1      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryGroupManagerTest.java
  
  Index: MemoryGroupManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryGroupManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MemoryGroupManagerTest.java	24 Aug 2003 19:51:23 -0000	1.1
  +++ MemoryGroupManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -18,7 +18,7 @@
       public void doCustomSetup()
       {
           this.setRoleFileName(null);
  -        this.setConfigurationFileName("src/test/InMemorySecurity.xml");
  +        this.setConfigurationFileName("src/test/SimpleMemory.xml");
       }
       /**
       	* Constructor for MemoryPermissionManagerTest.
  
  
  
  1.2       +1 -1      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryUserManagerTest.java
  
  Index: MemoryUserManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/memory/simple/MemoryUserManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MemoryUserManagerTest.java	24 Aug 2003 19:51:23 -0000	1.1
  +++ MemoryUserManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -18,7 +18,7 @@
       public void doCustomSetup()
       {
           this.setRoleFileName(null);
  -        this.setConfigurationFileName("src/test/InMemorySecurity.xml");
  +        this.setConfigurationFileName("src/test/SimpleMemory.xml");
       }
       /**
       	* Constructor for MemoryPermissionManagerTest.
  
  
  
  1.2       +3 -4      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/model/simple/manager/AbstractRoleManagerTest.java
  
  Index: AbstractRoleManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/model/simple/manager/AbstractRoleManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractRoleManagerTest.java	24 Aug 2003 19:48:35 -0000	1.1
  +++ AbstractRoleManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -5,7 +5,6 @@
    * Window>Preferences>Java>Code Generation>Code and Comments
    */
   package org.apache.fulcrum.security.model.simple.manager;
  -import org.apache.fulcrum.security.RoleManager;
   import org.apache.fulcrum.security.SecurityService;
   import org.apache.fulcrum.security.entity.Permission;
   import org.apache.fulcrum.security.entity.Role;
  @@ -22,7 +21,7 @@
   public abstract class AbstractRoleManagerTest extends BaseUnitTest
   {
       private Role role;
  -    private RoleManager roleManager;
  +    private SimpleRoleManager roleManager;
       private SecurityService securityService;
       public abstract void doCustomSetup() throws Exception;
       /**
  @@ -40,7 +39,7 @@
           {
               doCustomSetup();
               securityService = (SecurityService) lookup(SecurityService.ROLE);
  -            roleManager = securityService.getRoleManager();
  +            roleManager = (SimpleRoleManager)securityService.getRoleManager();
           }
           catch (Exception e)
           {
  @@ -91,7 +90,7 @@
           securityService.getPermissionManager().addPermission(permission);
           role = roleManager.getRoleInstance("RECEPTIONIST");
           roleManager.addRole(role);
  -        roleManager.grant(role, permission);
  +		((SimpleRoleManager)roleManager).grant(role, permission);
           role = roleManager.getRoleById(role.getId());
           PermissionSet permissions = securityService.getPermissionManager().getPermissions(role);
           assertEquals(1, permissions.size());
  
  
  
  1.2       +1 -1      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/model/simple/manager/AbstractPermissionManagerTest.java
  
  Index: AbstractPermissionManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/model/simple/manager/AbstractPermissionManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractPermissionManagerTest.java	24 Aug 2003 19:48:35 -0000	1.1
  +++ AbstractPermissionManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -137,7 +137,7 @@
           permissionManager.addPermission(permission2);
           Role role = securityService.getRoleManager().getRoleInstance("VET_TECH");
           securityService.getRoleManager().addRole(role);
  -        securityService.getRoleManager().grant(role, permission);
  +        ((SimpleRoleManager)securityService.getRoleManager()).grant(role, permission);
           PermissionSet permissionSet = permissionManager.getPermissions(role);
           assertEquals(1, permissionSet.size());
           assertTrue(permissionSet.contains(permission));
  
  
  
  1.2       +37 -68    jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/model/simple/manager/AbstractUserManagerTest.java
  
  Index: AbstractUserManagerTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/model/simple/manager/AbstractUserManagerTest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- AbstractUserManagerTest.java	24 Aug 2003 19:48:35 -0000	1.1
  +++ AbstractUserManagerTest.java	25 Aug 2003 01:06:14 -0000	1.2
  @@ -22,15 +22,16 @@
    */
   public abstract class AbstractUserManagerTest extends BaseUnitTest
   {
  -    private User user;
  -    private UserManager userManager;
  -    private SecurityService securityService;
  -	public abstract void doCustomSetup() throws Exception;
  +    protected User user;
  +	protected UserManager userManager;
  +	protected SecurityService securityService;
  +    public abstract void doCustomSetup() throws Exception;
       /**
        * Constructor for AbstractUserManagerTest.
        * @param arg0
        */
       public AbstractUserManagerTest(String arg0)
  +    
       {
           super(arg0);
       }
  @@ -151,23 +152,19 @@
       }
       public void testRevokeAll() throws Exception
       {
  -        if (userManager instanceof SimpleUserManager)
  -        {
  -            Group group = securityService.getGroupManager().getGroupInstance();
  -            group.setName("TEST_REVOKEALL");
  -            securityService.getGroupManager().addGroup(group);
  -            Group group2 = securityService.getGroupManager().getGroupInstance();
  -            group2.setName("TEST_REVOKEALL2");
  -            securityService.getGroupManager().addGroup(group2);
  -            user = userManager.getUserInstance("Clint2");
  -            userManager.addUser(user, "clint");
  -            ((SimpleUserManager) userManager).grant(user, group);
  -            ((SimpleUserManager) userManager).grant(user, group2);
  -            userManager.revokeAll(user);
  -            assertEquals(0, ((SimpleUser) user).getGroups().size());
  -        }
  +        Group group = securityService.getGroupManager().getGroupInstance();
  +        group.setName("TEST_REVOKEALL");
  +        securityService.getGroupManager().addGroup(group);
  +        Group group2 = securityService.getGroupManager().getGroupInstance();
  +        group2.setName("TEST_REVOKEALL2");
  +        securityService.getGroupManager().addGroup(group2);
  +        user = userManager.getUserInstance("Clint2");
  +        userManager.addUser(user, "clint");
  +        ((SimpleUserManager) userManager).grant(user, group);
  +        ((SimpleUserManager) userManager).grant(user, group2);
  +        userManager.revokeAll(user);
  +        assertEquals(0, ((SimpleUser) user).getGroups().size());
       }
  -    
       /**
        * Need to figure out if save is something we want..  
        * right now it just bloes up if you actually cahnge anything.
  @@ -179,65 +176,37 @@
           user = userManager.getUserInstance("Kate");
           userManager.addUser(user, "katiedid");
           user = userManager.getUser(user.getName());
  -        
  -       // user.setName("Katherine");
  +        // user.setName("Katherine");
           userManager.saveUser(user);
           assertEquals("kate", userManager.getUser(user.getName()).getName());
       }
       public void testGrantUserGroup() throws Exception
       {
  -        if (userManager instanceof SimpleUserManager)
  -        {
  -            Group group = securityService.getGroupManager().getGroupInstance();
  -            group.setName("TEST_GROUP");
  -            securityService.getGroupManager().addGroup(group);
  -            user = userManager.getUserInstance("Clint");
  -            userManager.addUser(user, "clint");
  -            ((SimpleUserManager) userManager).grant(user, group);
  -            assertTrue(((SimpleUser) user).getGroups().contains(group));
  -        }
  +        Group group = securityService.getGroupManager().getGroupInstance();
  +        group.setName("TEST_GROUP");
  +        securityService.getGroupManager().addGroup(group);
  +        user = userManager.getUserInstance("Clint");
  +        userManager.addUser(user, "clint");
  +        ((SimpleUserManager) userManager).grant(user, group);
  +        assertTrue(((SimpleUser) user).getGroups().contains(group));
       }
       public void testRevokeUserGroup() throws Exception
       {
  -        if (userManager instanceof SimpleUserManager)
  -        {
  -            Group group = securityService.getGroupManager().getGroupInstance();
  -            group.setName("TEST_REVOKE");
  -            securityService.getGroupManager().addGroup(group);
  -            user = userManager.getUserInstance("Lima");
  -            userManager.addUser(user, "pet");
  -            ((SimpleUserManager) userManager).revoke(user, group);
  -            assertFalse(((SimpleUser) user).getGroups().contains(group));
  -        }
  -    }
  -    /*
  -     * Class to test for String encryptPassword(String)
  -     */
  -    public void testEncryptPasswordString() throws Exception
  -    {
  -    }
  -    /*
  -     * Class to test for String encryptPassword(String, String)
  -     */
  -    public void testEncryptPasswordStringString() throws Exception
  -    {
  -    }
  -    public void testCheckPassword() throws Exception
  -    {
  -    }
  -    public void testGetAclClass() throws Exception
  -    {
  -    }
  -    public void testGetAclInstance() throws Exception
  -    {
  +        Group group = securityService.getGroupManager().getGroupInstance();
  +        group.setName("TEST_REVOKE");
  +        securityService.getGroupManager().addGroup(group);
  +        user = userManager.getUserInstance("Lima");
  +        userManager.addUser(user, "pet");
  +        ((SimpleUserManager) userManager).revoke(user, group);
  +        assertFalse(((SimpleUser) user).getGroups().contains(group));
       }
  +
       public void testGetACL() throws Exception
       {
  -		user = userManager.getUserInstance("Tony");
  -		userManager.addUser(user, "california");
  -    	AccessControlList acl = userManager.getACL(user);
  -    	assertNotNull(acl);
  -    	
  +        user = userManager.getUserInstance("Tony");
  +        userManager.addUser(user, "california");
  +        AccessControlList acl = userManager.getACL(user);
  +        assertNotNull(acl);
       }
       public void testRemoveUser() throws Exception
       {
  
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/authenticator/TextMatchAuthenticatorTest.java
  
  Index: TextMatchAuthenticatorTest.java
  ===================================================================
  /*
   * Created on Aug 25, 2003
   *
   */
  package org.apache.fulcrum.security.authenticator;
  
  import org.apache.fulcrum.security.entity.User;
  import org.apache.fulcrum.security.model.simple.entity.SimpleUser;
  
  import junit.framework.TestCase;
  
  /**
   * @author Eric Pugh
   *
   * To change the template for this generated type comment go to
   * Window>Preferences>Java>Code Generation>Code and Comments
   */
  public class TextMatchAuthenticatorTest extends TestCase
  {
      public void testAuthenticate() throws Exception
      {
      	User user = new SimpleUser();
      	user.setName("Bob");
      	user.setPassword("myPassword");
      	Authenticator authenticator = new TextMatchAuthenticator();
  		assertTrue(authenticator.authenticate(user,"myPassword"));
  		assertFalse(authenticator.authenticate(user,"mypassword"));
      }
  }
  
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/authenticator/NoOpAuthenticatorTest.java
  
  Index: NoOpAuthenticatorTest.java
  ===================================================================
  /*
   * Created on Aug 25, 2003
   *
   */
  package org.apache.fulcrum.security.authenticator;
  
  import org.apache.fulcrum.security.entity.User;
  import org.apache.fulcrum.security.model.simple.entity.SimpleUser;
  
  import junit.framework.TestCase;
  
  /**
   * @author Eric Pugh
   *
   * To change the template for this generated type comment go to
   * Window>Preferences>Java>Code Generation>Code and Comments
   */
  public class NoOpAuthenticatorTest extends TestCase
  {
      public void testAuthenticate() throws Exception
      {
      	User user = new SimpleUser();
      	user.setName("Bob");
      	user.setPassword("myPassword");
      	Authenticator authenticator = new NoOpAuthenticator();
  		assertTrue(authenticator.authenticate(user,"myPassword"));
  		assertTrue(authenticator.authenticate(user,"mypassword"));
  		assertTrue(authenticator.authenticate(null,null));
      }
  }
  
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/authenticator/CryptoAuthenticatorTest.java
  
  Index: CryptoAuthenticatorTest.java
  ===================================================================
  /*
   * Created on Aug 25, 2003
   *
   */
  package org.apache.fulcrum.security.authenticator;
  import org.apache.fulcrum.security.SecurityService;
  import org.apache.fulcrum.security.entity.User;
  import org.apache.fulcrum.security.model.simple.entity.SimpleUser;
  import org.apache.fulcrum.testcontainer.BaseUnitTest;
  /**
   * @author Eric Pugh
   *
   * To change the template for this generated type comment go to
   * Window>Preferences>Java>Code Generation>Code and Comments
   */
  public class CryptoAuthenticatorTest extends BaseUnitTest
  {
      private static final String preDefinedInput = "Oeltanks";
      private static final String preDefinedResult = "uVDiJHaavRYX8oWt5ctkaa7j1cw=";
      /**
      	* Constructor for CryptoAuthenticatorTest.
      	* @param arg0
      	*/
      public CryptoAuthenticatorTest(String arg0)
      {
          super(arg0);
      }
      public void setUp()
      {
          try
          {
              this.setRoleFileName(null);
              this.setConfigurationFileName("src/test/CryptoAuthenticator.xml");
          }
          catch (Exception e)
          {
              fail(e.toString());
          }
      }
      public void testAuthenticate() throws Exception
      {
          User user = new SimpleUser();
          user.setName("Bob");
          user.setPassword(preDefinedResult);
          Authenticator authenticator = (Authenticator)lookup(Authenticator.ROLE);
          assertTrue(authenticator.authenticate(user, preDefinedInput));
          assertFalse(authenticator.authenticate(user, "mypassword"));
      }
  }
  
  
  
  1.2       +4 -0      jakarta-turbine-fulcrum/security/src/test/SimpleHibernate.xml
  
  Index: SimpleHibernate.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/SimpleHibernate.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SimpleHibernate.xml	24 Aug 2003 19:46:41 -0000	1.1
  +++ SimpleHibernate.xml	25 Aug 2003 01:06:14 -0000	1.2
  @@ -28,4 +28,8 @@
       class="net.sf.hibernate.avalon.HibernateServiceImpl">   
     </component>
   
  +   <component
  +    role="org.apache.fulcrum.security.authenticator.Authenticator"
  +    class="org.apache.fulcrum.security.authenticator.TextMatchAuthenticator">   
  +  </component> 
   </my-system>
  
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/SimpleMemory.xml
  
  Index: SimpleMemory.xml
  ===================================================================
  <my-system>
    <component
      role="org.apache.fulcrum.security.SecurityService"
      class="org.apache.fulcrum.security.BaseSecurityService">   
    </component>  
  
    <component
      role="org.apache.fulcrum.security.UserManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryUserManagerImpl">   
    </component>   
    <component
      role="org.apache.fulcrum.security.GroupManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryGroupManagerImpl">   
    </component>     
  
    <component
      role="org.apache.fulcrum.security.RoleManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryRoleManagerImpl">   
    </component>     
  
    <component
      role="org.apache.fulcrum.security.PermissionManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryPermissionManagerImpl">   
    </component>     
    
     <component
      role="org.apache.fulcrum.security.authenticator.Authenticator"
      class="org.apache.fulcrum.security.authenticator.TextMatchAuthenticator">   
    </component> 
  
  </my-system>
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/CryptoAuthenticator.xml
  
  Index: CryptoAuthenticator.xml
  ===================================================================
  <my-system>
    
    
     <component
      role="org.apache.fulcrum.security.authenticator.Authenticator"
      class="org.apache.fulcrum.security.authenticator.CryptoAuthenticator">   
        <algorithm>java</algorithm>
        <cipher>SHA1</cipher>
    </component> 
    
     <component
      role="org.apache.fulcrum.crypto.CryptoService"
      class="org.apache.fulcrum.crypto.DefaultCryptoService">   
   	<algorithm>
        	<unix>org.apache.fulcrum.crypto.provider.UnixCrypt</unix>
          <clear>org.apache.fulcrum.crypto.provider.ClearCrypt</clear>
          <java>org.apache.fulcrum.crypto.provider.JavaCrypt</java>   
          <oldjava>org.apache.fulcrum.crypto.provider.OldJavaCrypt</oldjava>                         
        </algorithm>    
    </component>   
  
   
  </my-system>
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/SimpleNT.xml
  
  Index: SimpleNT.xml
  ===================================================================
  <my-system>
    <component
      role="org.apache.fulcrum.security.SecurityService"
      class="org.apache.fulcrum.security.BaseSecurityService">   
    </component>  
  
    <component
      role="org.apache.fulcrum.security.UserManager"
      class="org.apache.fulcrum.security.spi.nt.simple.NTUserManagerImpl">   
    </component>   
    <component
      role="org.apache.fulcrum.security.GroupManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryGroupManagerImpl">   
    </component>     
  
    <component
      role="org.apache.fulcrum.security.RoleManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryRoleManagerImpl">   
    </component>     
  
    <component
      role="org.apache.fulcrum.security.PermissionManager"
      class="org.apache.fulcrum.security.spi.memory.simple.MemoryPermissionManagerImpl">   
    </component>     
  
  </my-system>
  
  
  1.1                  jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/spi/nt/simple/NTUserManagerTest.java
  
  Index: NTUserManagerTest.java
  ===================================================================
  /*
   * Created on Aug 23, 2003
   *
   */
  package org.apache.fulcrum.security.spi.nt.simple;
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import org.apache.fulcrum.security.acl.AccessControlList;
  import org.apache.fulcrum.security.entity.Group;
  import org.apache.fulcrum.security.model.simple.entity.SimpleUser;
  import org.apache.fulcrum.security.model.simple.manager.AbstractUserManagerTest;
  import org.apache.fulcrum.security.model.simple.manager.SimpleUserManager;
  
  import com.tagish.auth.win32.NTSystem;
  /**
   * @author Eric Pugh
   *
   * Test the NT implementation of the user manager.  This test traps
   * some exceptions that can be thrown if there is NO nt dll.
   */
  public class NTUserManagerTest extends AbstractUserManagerTest
  {
      private static Log log = LogFactory.getLog(NTUserManagerTest.class);
      private static final String ERROR_MSG = "Not supported by NT User Manager";
      private static final String USERNAME = "Eric Pugh";
      private static final String DOMAIN = "IQUITOS";
      private static final String PASSWORD = "";
      private static final String COMBO_USERNAME = DOMAIN + "/" + "Guest";
      public static void main(String[] args)
      {
          junit.textui.TestRunner.run(NTUserManagerTest.class);
      }
      public void doCustomSetup() throws Exception
      {
          this.setRoleFileName(null);
          this.setConfigurationFileName("src/test/SimpleNT.xml");
      }
      /**
      	* Constructor for MemoryPermissionManagerTest.
      	* @param arg0
      	*/
      public NTUserManagerTest(String arg0)
      {
          super(arg0);
      }
      public void testCheckExists() throws Exception
      {
          try
          {
              user = new SimpleUser();
              user.setName("IQUITOS/Guest");
              ((SimpleUser) user).setPassword("");
              assertTrue(userManager.checkExists(user));
          }
          catch (UnsatisfiedLinkError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      public void testCheckExistsFails() throws Exception
      {
          try
          {
              user = new SimpleUser();
              user.setName("MCD\\Ronald Mcdonaled");
              ((SimpleUser) user).setPassword("");
              assertFalse(userManager.checkExists(user));
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      /**
      *  tests getting an NT username
      */
      public void testNTGetName() throws Exception
      {
          try
          {
              NTSystem ntSystem = new NTSystem();
              assertTrue("Name is eric:" + ntSystem.getName(), USERNAME.equals(ntSystem.getName()));
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      /**
      	*  tests getting an NT Domain
      	*/
      public void testGetDomain() throws Exception
      {
          try
          {
              NTSystem ntSystem = new NTSystem();
              assertTrue("Domain is:" + ntSystem.getDomain(), DOMAIN.equals(ntSystem.getDomain()));
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      /**
      	*  tests logging on a different user
      	*/
      public void testLoginAsUser() throws Exception
      {
          try
          {
              NTSystem ntSystem = new NTSystem();
              char password[] = "editor!".toCharArray();
              ntSystem.logon(USERNAME, password, DOMAIN);
              String groups[] = ntSystem.getGroupNames(false);
              for (int i = 0; i < groups.length; i++)
              {
                  System.out.println("Groups :" + groups[i]);
              }
              ntSystem.logoff();
              assertTrue("User is:" + ntSystem.getName(), USERNAME.equals(ntSystem.getName()));
              assertTrue("Domain is:" + ntSystem.getName(), "IQUITOS".equals(ntSystem.getDomain()));
              assertTrue(
                  "Primary Group is:" + ntSystem.getPrimaryGroupName(),
                  "None".equals(ntSystem.getPrimaryGroupName()));
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      /*
         * Class to test for User retrieve(String, String)
         */
      public void testRetrieveStringString() throws Exception
      {
          try
          {
              user = userManager.getUser(COMBO_USERNAME, PASSWORD);
              assertNotNull(user);
              assertTrue(((SimpleUser) user).getGroups().size() > 0);
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      public void testAuthenticate() throws Exception
      {
          try
          {
              user = userManager.getUserInstance(COMBO_USERNAME);
              userManager.authenticate(user, PASSWORD);
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      public void testGetACL() throws Exception
      {
          try
          {
              user = userManager.getUserInstance(COMBO_USERNAME);
              userManager.authenticate(user, PASSWORD);
              AccessControlList acl = userManager.getACL(user);
              assertNotNull(acl);
          }
          catch (NoClassDefFoundError ule)
          {
              log.info("Unit test not being run due to missing NT DDLL");
          }
      }
      /********* ALL BELOW HERE THROW RUNTIME EXCEPTIONS *********/
      /*
      	* Class to test for User retrieve(String)
      	*/
      public void testRetrieveString() throws Exception
      {
          try
          {
              user = userManager.getUser("QuietMike");
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testChangePassword() throws Exception
      {
          try
          {
              userManager.changePassword(user, "WrongPWD", "JC");
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testForcePassword() throws Exception
      {
          user = userManager.getUserInstance("BOB");
          try
          {
              userManager.forcePassword(user, "JC_SUBSET");
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testRevokeAll() throws Exception
      {
          try
          {
              userManager.revokeAll(user);
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testSaveUser() throws Exception
      {
          try
          {
              userManager.saveUser(user);
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testGrantUserGroup() throws Exception
      {
          Group group = securityService.getGroupManager().getGroupInstance();
          group.setName("TEST_GROUP");
          securityService.getGroupManager().addGroup(group);
          try
          {
              ((SimpleUserManager) userManager).grant(user, group);
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testRevokeUserGroup() throws Exception
      {
          try
          {
              Group group = securityService.getGroupManager().getGroupInstance();
              group.setName("TEST_REVOKE");
              securityService.getGroupManager().addGroup(group);
              ((SimpleUserManager) userManager).revoke(user, group);
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testRemoveUser() throws Exception
      {
          try
          {
              userManager.removeUser(user);
              fail("Should throw runtime exception");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
      public void testAddUser() throws Exception
      {
          try
          {
              user = userManager.getUserInstance("Joe1");
              userManager.addUser(user, "mc");
          }
          catch (RuntimeException re)
          {
              assertTrue(re.getMessage().equals(ERROR_MSG));
          }
      }
  }
  
  
  
  1.4       +1 -1      jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/StartingSecurityServicesTest.java
  
  Index: StartingSecurityServicesTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-fulcrum/security/src/test/org/apache/fulcrum/security/StartingSecurityServicesTest.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- StartingSecurityServicesTest.java	24 Aug 2003 19:53:26 -0000	1.3
  +++ StartingSecurityServicesTest.java	25 Aug 2003 01:06:14 -0000	1.4
  @@ -94,7 +94,7 @@
       public void testStartingInMemorySecurity() throws Exception
       {
           this.setRoleFileName(null);
  -        this.setConfigurationFileName("src/test/InMemorySecurity.xml");
  +        this.setConfigurationFileName("src/test/SimpleMemory.xml");
           securityService = (SecurityService) lookup(SecurityService.ROLE);
           assertNotNull(securityService.getUserManager());
           assertNotNull(securityService.getRoleManager());