[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