[webbeans-commits] Webbeans SVN: r3539 - tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Mon Aug 17 13:58:03 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-08-17 13:58:03 -0400 (Mon, 17 Aug 2009)
New Revision: 3539

Added:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/MockLoginModule.java
Modified:
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/BuiltInBeansTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBean.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBeanLocal.java
Log:
Initial impl for Principal for JBoss AS, add loging to test (not sure if this right)

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/BuiltInBeansTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/BuiltInBeansTest.java	2009-08-17 17:18:21 UTC (rev 3538)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/BuiltInBeansTest.java	2009-08-17 17:58:03 UTC (rev 3539)
@@ -2,6 +2,7 @@
 
 import java.security.Principal;
 
+import javax.security.auth.login.LoginException;
 import javax.transaction.SystemException;
 import javax.transaction.UserTransaction;
 import javax.validation.Validator;
@@ -70,9 +71,11 @@
    @SpecAssertions({
       @SpecAssertion(section="3.6", id="b")
    })
-   public void testPrincipalBean() throws SystemException
+   public void testPrincipalBean() throws SystemException, LoginException
    {
-      Principal principal = getInstanceByType(PrincipalInjectedBeanLocal.class).getPrincipal(); 
+      PrincipalInjectedBeanLocal instance = getInstanceByType(PrincipalInjectedBeanLocal.class);
+      instance.login();
+      Principal principal = instance.getPrincipal(); 
       assert principal != null;
       // Check that the Principal is at least queryable
       principal.getName();

Added: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/MockLoginModule.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/MockLoginModule.java	                        (rev 0)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/MockLoginModule.java	2009-08-17 17:58:03 UTC (rev 3539)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,  
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.jboss.jsr299.tck.tests.implementation.builtin;
+
+import java.security.Principal;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.spi.LoginModule;
+
+public class MockLoginModule implements LoginModule
+{      
+   
+   protected Set<String> roles = new HashSet<String>();
+   
+   protected Subject subject;
+   protected Map<String,?> options;
+   protected CallbackHandler callbackHandler;
+   
+   public MockLoginModule()
+   {
+      // TODO Auto-generated constructor stub
+   }
+   
+   public boolean abort() throws LoginException
+   {
+      return true;
+   }
+
+   public boolean commit() throws LoginException
+   {
+      subject.getPrincipals().add(new Principal()
+      {
+         
+         @Override
+         public String getName()
+         {
+            return "default";
+         }
+      });
+      return true;
+   }
+
+   public void initialize(Subject subject, CallbackHandler callbackHandler,
+         Map<String, ?> sharedState, Map<String, ?> options)
+   {
+      this.subject = subject;
+      this.options = options;
+      this.callbackHandler = callbackHandler;
+   }
+
+   public boolean login() 
+      throws LoginException
+   {
+      return true;
+   }
+
+   public boolean logout() throws LoginException
+   {
+      return true;
+   }
+}
\ No newline at end of file


Property changes on: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/MockLoginModule.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBean.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBean.java	2009-08-17 17:18:21 UTC (rev 3538)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBean.java	2009-08-17 17:58:03 UTC (rev 3539)
@@ -17,9 +17,15 @@
 package org.jboss.jsr299.tck.tests.implementation.builtin;
 
 import java.security.Principal;
+import java.util.HashMap;
 
 import javax.ejb.Stateful;
 import javax.enterprise.inject.Current;
+import javax.enterprise.inject.Instance;
+import javax.security.auth.login.AppConfigurationEntry;
+import javax.security.auth.login.LoginContext;
+import javax.security.auth.login.LoginException;
+import javax.security.auth.login.AppConfigurationEntry.LoginModuleControlFlag;
 
 /**
  * @author pmuir
@@ -29,12 +35,46 @@
 public class PrincipalInjectedBean implements PrincipalInjectedBeanLocal
 {
 
-   @Current transient Principal principal;
+   static final String DEFAULT_JAAS_CONFIG_NAME = "default";
    
+   @Current Instance<Principal> principal;
+   
    @Override
    public Principal getPrincipal()
    {
-      return principal;
+      return principal.get();
    }
+   
+   public void login() throws LoginException
+   {
+      LoginContext lc = new LoginContext(DEFAULT_JAAS_CONFIG_NAME, null, null, createConfiguration());
+      lc.login();
+   }
+   
+   protected AppConfigurationEntry createAppConfigurationEntry()
+   {
+      return new AppConfigurationEntry( 
+            MockLoginModule.class.getName(), 
+            LoginModuleControlFlag.REQUIRED, 
+            new HashMap<String,String>() 
+         );
+   }
+   
+   protected javax.security.auth.login.Configuration createConfiguration()
+   {
+      return new javax.security.auth.login.Configuration()
+      {
+         private AppConfigurationEntry[] aces = { createAppConfigurationEntry() };
+         
+         @Override
+         public AppConfigurationEntry[] getAppConfigurationEntry(String name)
+         {
+            return DEFAULT_JAAS_CONFIG_NAME.equals(name) ? aces : null;
+         }
+         
+         @Override
+         public void refresh() {}
+      };
+   }
 
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBeanLocal.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBeanLocal.java	2009-08-17 17:18:21 UTC (rev 3538)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/tests/implementation/builtin/PrincipalInjectedBeanLocal.java	2009-08-17 17:58:03 UTC (rev 3539)
@@ -19,6 +19,7 @@
 import java.security.Principal;
 
 import javax.ejb.Local;
+import javax.security.auth.login.LoginException;
 
 /**
  * @author pmuir
@@ -29,5 +30,7 @@
 {
    
    public Principal getPrincipal();
+   
+   public void login() throws LoginException;
 
 }




More information about the weld-commits mailing list