[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