[jboss-cvs] JBossAS SVN: r73952 - in projects/security/security-standalone/trunk/idtrust-impl: src/test/java/org/jboss/security/idtrust/test and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 2 14:27:03 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-06-02 14:27:03 -0400 (Mon, 02 Jun 2008)
New Revision: 73952

Added:
   projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java
   projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/helpers/
   projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/helpers/TestAuditProvider.java
   projects/security/security-standalone/trunk/idtrust-impl/src/test/resources/config/audit.conf
Modified:
   projects/security/security-standalone/trunk/idtrust-impl/
   projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java
Log:
SECURITY-231: audit


Property changes on: projects/security/security-standalone/trunk/idtrust-impl
___________________________________________________________________
Name: svn:ignore
   + target


Added: projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java	                        (rev 0)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuditUnitTestCase.java	2008-06-02 18:27:03 UTC (rev 73952)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.security.idtrust.test;
+
+import java.security.Principal;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.security.auth.Subject;
+
+import junit.framework.TestCase;
+
+import org.jboss.security.AuthenticationManager;
+import org.jboss.security.audit.AuditEvent;
+import org.jboss.security.audit.AuditLevel;
+import org.jboss.security.audit.AuditManager;
+import org.jboss.security.config.IDTrustConfiguration;
+import org.jboss.security.idtrust.api.factories.SecurityFactory;
+import org.jboss.security.idtrust.test.helpers.TestAuditProvider;
+
+/**
+ * Authentication Unit Tests
+ * <a href="mailto:anil.saldhana at redhat.com>Anil Saldhana</a>
+ * @since May 30, 2008
+ */
+public class AuditUnitTestCase extends TestCase
+{
+   private final String securityDomainName = "test";
+   
+   public void testValidAuthentication() throws Exception
+   { 
+     String configFile = "config/audit.conf";
+     IDTrustConfiguration idtrustConfig = new IDTrustConfiguration();
+     idtrustConfig.config(configFile);
+     
+     AuthenticationManager am = SecurityFactory.getAuthenticationManager(securityDomainName);
+     assertNotNull(am);
+     
+     Subject subject = new Subject();
+     Principal principal = getPrincipal("anil");
+     Object credential = new String("pass");
+      
+     boolean result = am.isValid(principal, credential, subject);
+     assertTrue("Valid Auth", result);
+     assertTrue("Subject has principals", subject.getPrincipals().size() > 0);
+     
+     Map<String,Object> contextMap = new HashMap<String,Object>();
+     AuditEvent auditEvent = new AuditEvent(AuditLevel.SUCCESS,contextMap);
+     AuditManager auditManager = SecurityFactory.getAuditManager(securityDomainName);
+     auditManager.audit(auditEvent);
+     assertTrue("Audit Event is contained in the static map of Audit Provider",
+           TestAuditProvider.eventList.contains(auditEvent));
+   }
+   
+   public void testInvalidAuthentication() throws Exception
+   {
+      String configFile = "config/audit.conf";
+      IDTrustConfiguration idtrustConfig = new IDTrustConfiguration();
+      idtrustConfig.config(configFile);
+      
+      AuthenticationManager am = SecurityFactory.getAuthenticationManager(securityDomainName);
+      assertNotNull(am);
+       
+      Principal principal = getPrincipal("anil");
+      Object credential = new String("BADGUY");
+      
+      boolean result = am.isValid(principal, credential); 
+      assertFalse("Valid Auth", result);
+      Map<String,Object> contextMap = new HashMap<String,Object>();
+      contextMap.put("Message:", "Auth Failure for "+principal);
+      AuditEvent auditEvent = new AuditEvent(AuditLevel.FAILURE, contextMap);
+      AuditManager auditManager = SecurityFactory.getAuditManager(securityDomainName);
+      auditManager.audit(auditEvent);
+      assertTrue("Audit Event is contained in the static map of Audit Provider",
+            TestAuditProvider.eventList.contains(auditEvent)); 
+   }
+   
+   private Principal getPrincipal(final String name)
+   {
+      return new Principal()
+      {
+         public String getName()
+         {
+            return name;
+         }
+      };
+   }
+}
\ No newline at end of file

Modified: projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java	2008-06-02 18:20:30 UTC (rev 73951)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/AuthenticationUnitTestCase.java	2008-06-02 18:27:03 UTC (rev 73952)
@@ -40,7 +40,7 @@
 {
    private final String securityDomainName = "test";
    
-   public void testValidAuthentication() throws Exception
+   public void testValidAuthenticationAudit() throws Exception
    { 
      String configFile = "config/authentication.conf";
      IDTrustConfiguration idtrustConfig = new IDTrustConfiguration();
@@ -48,7 +48,7 @@
      
      AuthenticationManager am = SecurityFactory.getAuthenticationManager(securityDomainName);
      assertNotNull(am);
-     
+      
      Subject subject = new Subject();
      Principal principal = getPrincipal("anil");
      Object credential = new String("pass");
@@ -58,24 +58,8 @@
      result = am.isValid(principal, credential, subject);
      assertTrue("Valid Auth", result);
      assertTrue("Subject has principals", subject.getPrincipals().size() > 0);
-   }
+   } 
    
-   public void testInvalidAuthentication() throws Exception
-   {
-      String configFile = "config/authentication.conf";
-      IDTrustConfiguration idtrustConfig = new IDTrustConfiguration();
-      idtrustConfig.config(configFile);
-      
-      AuthenticationManager am = SecurityFactory.getAuthenticationManager(securityDomainName);
-      assertNotNull(am);
-       
-      Principal principal = getPrincipal("anil");
-      Object credential = new String("BADGUY");
-      
-      boolean result = am.isValid(principal, credential); 
-      assertFalse("Valid Auth", result);
-   }
-   
    private Principal getPrincipal(final String name)
    {
       return new Principal()

Added: projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/helpers/TestAuditProvider.java
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/helpers/TestAuditProvider.java	                        (rev 0)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/java/org/jboss/security/idtrust/test/helpers/TestAuditProvider.java	2008-06-02 18:27:03 UTC (rev 73952)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.security.idtrust.test.helpers;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.security.audit.AuditEvent;
+import org.jboss.security.audit.AuditProvider;
+
+/**
+ * Simple Audit provider that stores the audit events in a 
+ * static List
+ * @author Anil.Saldhana at redhat.com
+ * @since June 2, 2008 
+ */
+public class TestAuditProvider implements AuditProvider
+{
+   public static List<AuditEvent> eventList = new ArrayList<AuditEvent>();
+
+   public void audit(AuditEvent auditEvent)
+   {
+      eventList.add(auditEvent);      
+   } 
+}

Added: projects/security/security-standalone/trunk/idtrust-impl/src/test/resources/config/audit.conf
===================================================================
--- projects/security/security-standalone/trunk/idtrust-impl/src/test/resources/config/audit.conf	                        (rev 0)
+++ projects/security/security-standalone/trunk/idtrust-impl/src/test/resources/config/audit.conf	2008-06-02 18:27:03 UTC (rev 73952)
@@ -0,0 +1,17 @@
+<?xml version='1.0'?> 
+ 
+<policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+         xsi:schemaLocation="urn:jboss:security-config:5.0"
+         xmlns="urn:jboss:security-config:5.0"
+         xmlns:jbxb="urn:jboss:security-config:5.0">
+   <application-policy name = "test"> 
+       <authentication>
+          <login-module code = "org.jboss.security.auth.spi.UsersRolesLoginModule"
+             flag = "required">  
+          </login-module> 
+       </authentication>
+       <audit>
+          <provider-module code="org.jboss.security.idtrust.test.helpers.TestAuditProvider"/>
+       </audit> 
+    </application-policy>  
+</policy> 
\ No newline at end of file




More information about the jboss-cvs-commits mailing list