[JBoss Seam] - Testing Authentication with TestNG
by knuwu
I'm trying to test the authentication with TestNG inside Eclipse with the TestNG -Plugin.
The test class looks like that:
| package test.seam.services.security.test;
|
| import org.jboss.seam.mock.SeamTest;
| import org.testng.annotations.Test;
|
| public class UserSearchTest extends SeamTest {
|
| @Test
| public void testSearch() throws Exception {
| new FacesRequest() {
|
| @Override
| protected void updateModelValues() throws Exception {
| setValue("#{identity.username}", "tsggora1");
| setValue("#{identity.password}", "test");
| }
|
| @Override
| protected void invokeApplication() {
| assert invokeMethod("#{identity.login}").equals("success");
| }
|
| }.run();
| }
|
| }
|
All worked fine, the embedded ejb container is started up, hsqldb database is initialised, schema is imported, import script is done....
until it comes to execute the FacesRequest. I get this error message:
| 16:32:21,600 INFO [SchemaExport] Running hbm2ddl schema export
| 16:32:21,600 INFO [SchemaExport] exporting generated schema to database
| 16:32:21,616 INFO [SchemaExport] Executing import script: /import.sql
| 16:32:21,616 INFO [SchemaExport] schema export complete
| 16:32:21,632 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
| 16:32:21,850 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:jar=test-build,name=UserSearchBean,service=EJB3 with dependencies:
| 16:32:21,850 INFO [MCKernelAbstraction] AbstractDependencyMetaData@1f9f0f2{dependency=persistence.units:jar=test-build.jar,unitName=aldebaran}
| 16:32:22,132 INFO [EJBContainer] STARTED EJB: test.seam.modules.base.security.UserSearchBean ejbName: UserSearchBean
| 16:32:22,163 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:jar=jboss-seam,name=Dispatcher,service=EJB3 with dependencies:
| 16:32:22,178 INFO [EJBContainer] STARTED EJB: org.jboss.seam.core.Dispatcher ejbName: Dispatcher
| 16:32:22,194 INFO [MCKernelAbstraction] installing bean: jboss.j2ee:jar=jboss-seam,name=TransactionListener,service=EJB3 with dependencies:
| 16:32:22,210 INFO [EJBContainer] STARTED EJB: org.jboss.seam.core.TransactionListener ejbName: TransactionListener
| 16:32:22,210 INFO [Lifecycle] starting up: org.jboss.seam.multipartConfig
| 16:32:22,225 INFO [Initialization] done initializing Seam
| 16:32:22,272 INFO [Pages] reading pages.xml
| 16:32:23,350 INFO [Ejb] stopping the embedded EJB container
| 16:32:23,350 INFO [SessionFactoryImpl] closing
| 16:32:23,350 INFO [SchemaExport] Running hbm2ddl schema export
| 16:32:23,350 INFO [SchemaExport] exporting generated schema to database
| 16:32:23,350 INFO [SchemaExport] schema export complete
| FAILED: testSearch
| java.lang.NullPointerException
| at org.jboss.seam.core.Selector.getCookieValue(Selector.java:59)
| at org.jboss.seam.security.Identity.initCredentialsFromCookie(Identity.java:91)
| at org.jboss.seam.security.Identity.create(Identity.java:85)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:102)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1835)
| at org.jboss.seam.Component.callCreateMethod(Component.java:1783)
| at org.jboss.seam.Component.newInstance(Component.java:1772)
| at org.jboss.seam.Component.getInstance(Component.java:1669)
| at org.jboss.seam.Component.getInstance(Component.java:1636)
| at org.jboss.seam.Namespace.get(Namespace.java:42)
| at javax.el.MapELResolver.getValue(MapELResolver.java:157)
| at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:135)
| at com.sun.el.parser.AstValue.getValue(AstValue.java:117)
| at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
| at org.jboss.seam.util.UnifiedELValueBinding.getValue(UnifiedELValueBinding.java:34)
| at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:53)
| at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1710)
| at org.jboss.seam.Component.getInstance(Component.java:1659)
| at org.jboss.seam.Component.getInstance(Component.java:1636)
| at org.jboss.seam.Component.getInstance(Component.java:1630)
| at org.jboss.seam.jsf.SeamELResolver.getValue(SeamELResolver.java:49)
| at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:135)
| at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:65)
| at com.sun.el.parser.AstValue.getTarget(AstValue.java:62)
| at com.sun.el.parser.AstValue.setValue(AstValue.java:132)
| at com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:255)
| at org.jboss.seam.util.UnifiedELValueBinding.setValue(UnifiedELValueBinding.java:44)
| at org.jboss.seam.mock.SeamTest$Request.setValue(SeamTest.java:363)
| at test.seam.services.security.test.UserSearchTest$1.updateModelValues(UserSearchTest.java:14)
| at org.jboss.seam.mock.SeamTest$Request.run(SeamTest.java:465)
| at test.seam.services.security.test.UserSearchTest.testSearch(UserSearchTest.java:23)
| ... Removed 25 stack frames
|
| ===============================================
| UserSearch Test
| Tests run: 1, Failures: 1, Skips: 0
| ===============================================
|
|
| ===============================================
| UserSearch Tests
| Total tests run: 1, Failures: 1, Skips: 0
| ===============================================
|
|
What's wrong?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4027218#4027218
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4027218
19Â years, 1Â month
[JBoss Portal] - Re: LDAP authentication and Role-based permissions question
by ndrw_cheung
Forgot to attach some tracing/logging information in my last reply. Also, our portal is not the default and is accessed by the url : http://localhost:8080/portal/auth/portal/myportal.
The following is a section of the log starting from the authentication. Any help is appreciated. Thanks.
-Andrew
------------------------------------
2007-03-12 09:55:16,953 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] Begin isValid, principal:abc, cache info: null
2007-03-12 09:55:16,953 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] defaultLogin, principal=abc
2007-03-12 09:55:16,953 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] Begin getAppConfigurationEntry(portal), size=10
2007-03-12 09:55:16,953 TRACE [org.jboss.security.auth.login.XMLLoginConfigImpl] End getAppConfigurationEntry(portal), authInfo=AppConfigurationEntry[]:
[0]
LoginModule Class: org.jboss.security.auth.spi.LdapLoginModule
ControlFlag: LoginModuleControlFlag: required
Options:name=principalDNSuffix, value=,ou=users,ou=MyDivision,o=MyCompany
name=user.provider.url, value=ldap://myLDAPServerIP:389/ou=users,ou=MyDivision,o=MyCompany
name=principalDNPrefix, value=cn=
name=group.provider.url, value=ldap://myLDAPServerIP:389/ou=DistributionLists,ou=MyDivision,o=MyCompany
name=java.naming.security.authentication, value=simple
name=java.naming.provider.url, value=ldap://myLDAPServerIP:389/
name=roleAttributeID, value=cn
name=uidAttributeID, value=member
name=java.naming.factory.initial, value=com.sun.jndi.ldap.LdapCtxFactory
name=roleAttributeIsDN, value=false
name=rolesCtxDN, value=ou=DistributionLists,ou=MyDivision,o=MyCompany
name=matchOnUserDN, value=true
2007-03-12 09:55:16,953 DEBUG [org.apache.catalina.loader.WebappClassLoader] loadClass(org.jboss.security.auth.spi.LdapLoginModule, false)
2007-03-12 09:55:16,953 DEBUG [org.apache.catalina.loader.WebappClassLoader] Searching local repositories
2007-03-12 09:55:16,953 DEBUG [org.apache.catalina.loader.WebappClassLoader] findClass(org.jboss.security.auth.spi.LdapLoginModule)
2007-03-12 09:55:16,953 DEBUG [org.apache.catalina.loader.WebappClassLoader] Delegating to parent classloader at end: java.net.FactoryURLClassLoader@6d3209
2007-03-12 09:55:16,953 DEBUG [org.apache.catalina.loader.WebappClassLoader] Loading class from parent
2007-03-12 09:55:16,968 TRACE [org.jboss.security.auth.spi.LdapLoginModule] initialize, instance=@9504057
2007-03-12 09:55:16,968 TRACE [org.jboss.security.auth.spi.LdapLoginModule] Security domain: portal
2007-03-12 09:55:16,968 TRACE [org.jboss.security.auth.spi.LdapLoginModule] login
2007-03-12 09:55:16,984 TRACE [org.jboss.security.auth.spi.LdapLoginModule] Logging into LDAP server, env={user.provider.url=ldap://myLDAPServerIP:389/ou=users,ou=MyDivision,o=MyCompany, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, principalDNPrefix=cn=, java.naming.security.principal=cn=abc,ou=users,ou=MyDivision,o=MyCompany, roleAttributeID=cn, matchOnUserDN=true, principalDNSuffix=,ou=users,ou=MyDivision,o=MyCompany, rolesCtxDN=ou=DistributionLists,ou=MyDivision,o=MyCompany, jboss.security.security_domain=portal, group.provider.url=ldap://10.141.41.21:389/ou=DistributionLists,ou=MyDivision,o=MyCompany, java.naming.provider.url=ldap://myLDAPServerIP:389/, roleAttributeIsDN=false, uidAttributeID=member, java.naming.security.authentication=simple, java.naming.security.credentials=***}
2007-03-12 09:55:16,984 DEBUG [org.apache.catalina.loader.WebappClassLoader] loadClass(com.sun.jndi.ldap.LdapCtxFactory, false)
2007-03-12 09:55:17,281 TRACE [org.jboss.security.auth.spi.LdapLoginModule] Logged into LDAP server, javax.naming.ldap.InitialLdapContext@dc35ba
2007-03-12 09:55:17,281 TRACE [org.jboss.security.auth.spi.LdapLoginModule] searching rolesCtxDN=ou=DistributionLists,ou=MyDivision,o=MyCompany, roleFilter=(member={0}), filterArgs=cn=abc,ou=users,ou=MyDivision,o=MyCompany, roleAttr=[Ljava.lang.String;@14b6ec8, searchScope=2, searchTimeLimit=10000
2007-03-12 09:55:17,671 TRACE [org.jboss.security.auth.spi.LdapLoginModule] User 'abc' authenticated, loginOk=true
2007-03-12 09:55:17,671 TRACE [org.jboss.security.auth.spi.LdapLoginModule] commit, loginOk=true
2007-03-12 09:55:17,671 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] defaultLogin, lc=javax.security.auth.login.LoginContext@1e4e47f, subject=Subject(5607282).principals=org.jboss.security.SimplePrincipal@19017836(abc)org.jboss.security.SimpleGroup(a)20745137(Roles(members))
2007-03-12 09:55:17,671 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] updateCache, inputSubject=Subject(5607282).principals=org.jboss.security.SimplePrincipal@19017836(abc)org.jboss.security.SimpleGroup(a)20745137(Roles(members)), cacheSubject=Subject(32978170).principals=org.jboss.security.SimplePrincipal@19017836(abc)org.jboss.security.SimpleGroup(a)20745137(Roles(members))
2007-03-12 09:55:17,671 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] Inserted cache info: org.jboss.security.plugins.JaasSecurityManager$DomainInfo@b70e32[Subject(32978170).principals=org.jboss.security.SimplePrincipal@19017836(abc)org.jboss.security.SimpleGroup@20745137(Roles(members)),credential.class=java.lang.String(a)20738936,expirationTime=1173709516953]
2007-03-12 09:55:17,671 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] End isValid, true
2007-03-12 09:55:17,687 TRACE [org.jboss.security.SecurityAssociation] pushSubjectContext, subject=Subject:
Principal: abc
Principal: Roles(members)
, sc=org.jboss.security.SecurityAssociation$SubjectContext@5e8588{principal=abc,subject=26267652}
2007-03-12 09:55:17,687 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] getPrincipal, cache info: org.jboss.security.plugins.JaasSecurityManager$DomainInfo@b70e32[Subject(32978170).principals=org.jboss.security.SimplePrincipal@19017836(abc)org.jboss.security.SimpleGroup@20745137(Roles(members)),credential.class=java.lang.String(a)20738936,expirationTime=1173709516953]
2007-03-12 09:55:17,687 TRACE [org.jboss.security.SecurityAssociation] getSubject, sc=org.jboss.security.SecurityAssociation$SubjectContext@5e8588{principal=abc,subject=26267652}
2007-03-12 09:55:17,687 TRACE [org.jboss.security.plugins.JaasSecurityManager.portal] getUserRoles, subject: Subject:
Principal: abc
Principal: Roles(members)
2007-03-12 09:55:17,687 DEBUG [org.apache.catalina.authenticator.FormAuthenticator] Authentication of 'abc' was successful
2007-03-12 09:55:17,687 DEBUG [org.apache.catalina.authenticator.FormAuthenticator] Redirecting to original '/portal/auth/portal/myportal'
2007-03-12 09:55:17,687 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Failed authenticate() test ??/portal/auth/portal/j_security_check
2007-03-12 09:55:17,687 TRACE [org.jboss.security.SecurityAssociation] clear, server=true
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.connector.CoyoteAdapter] Requested cookie session id is BA0783EC9001950BDFF9A5C80C6027B9
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Security checking request GET /portal/auth/portal/myportal
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Checking constraint 'SecurityConstraint[Authenticated]' against GET /auth/portal/myportal --> true
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Checking constraint 'SecurityConstraint[Secure]' against GET /auth/portal/myportal --> false
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Checking constraint 'SecurityConstraint[Secure+Authenticated]' against GET /auth/portal/myportal --> false
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Checking constraint 'SecurityConstraint[Authenticated]' against GET /auth/portal/myportal --> true
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Checking constraint 'SecurityConstraint[Secure]' against GET /auth/portal/myportal --> false
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Checking constraint 'SecurityConstraint[Secure+Authenticated]' against GET /auth/portal/myportal --> false
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Calling hasUserDataPermission()
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] User data constraint has no restrictions
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Calling authenticate()
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.FormAuthenticator] Restore request from session 'BA0783EC9001950BDFF9A5C80C6027B9'
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Authenticated 'abc' with type 'FORM'
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.FormAuthenticator] Proceed to restored request
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Calling accessControl()
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.realm.RealmBase] Username abc does NOT have role finance
2007-03-12 09:55:17,703 DEBUG [org.apache.catalina.authenticator.AuthenticatorBase] Failed accessControl() test
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4027214#4027214
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4027214
19Â years, 1Â month