[jboss-user] [JBoss Seam] - Re: Problem running integration test
nayanj
do-not-reply at jboss.com
Wed Sep 12 11:19:20 EDT 2007
WEB-INF\components.xml specifies following:
| <security:identity authenticate-method="#{authenticator.authenticate}"/>
|
| @Name("authenticator")
| public class AuthenticatorAction {
|
| @Out(required = false, scope = SESSION)
| private User user;
|
| public boolean authenticate() {
| // does authentication here
| if( authentication successful ){
| user = new User();
| user.setGivenName("Given");
| user.setLastName("Last");
| return true;
| }
| return false;
| }
| }
|
User.java
| @Name("user")
| @Scope(SESSION)
| public class User implements Serializable {
|
| private String username;
|
| private String password;
|
| private String lastName;
|
| private String givenName;
|
| // followed by get and set methods for all the instance variables
| }
|
build.xml snippet to run test
| <property name="test.src" location="testsrc"/>
| <path id="testng.classpath">
| <fileset dir="${lib}/mc" includes="*.jar"/>
| <fileset dir="${lib}" includes="*.jar" excludes="commons-el-1.0.jar"/>
| <pathelement location="${build.home}/classes" />
| <pathelement location="${webinf}/classes" />
| <pathelement location="${webinf}"/>
| </path>
|
| <taskdef name="testng" classpathref="testng.classpath" classname="org.testng.TestNGAntTask" />
|
| <target name="tests.compile" depends="compile">
| <mkdir dir="${build.home}/test/classes"/>
| <javac destdir="${build.home}/classes" classpathref="testng.classpath" debug="true">
| <src path="${test.src}" />
| </javac>
| </target>
|
| <target name="test" depends="tests.compile">
| <delete dir="test-output" />
| <testng classpathref="testng.classpath" outputdir="test-output">
| <xmlfileset dir="${test.src}" includes="**/security/test/testng.xml" />
| </testng>
| </target>
|
complete error log:
| [testng] 10:06:29,969 ERROR [SeamLoginModule] Error invoking login method
| [testng] java.lang.NullPointerException
| [testng] at org.jboss.seam.security.jaas.SeamLoginModule.login(SeamLoginModule.java:104)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| [testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| [testng] at java.lang.reflect.Method.invoke(Unknown Source)
| [testng] at javax.security.auth.login.LoginContext.invoke(Unknown Source)
| [testng] at javax.security.auth.login.LoginContext.access$000(Unknown Source)
| [testng] at javax.security.auth.login.LoginContext$5.run(Unknown Source)
| [testng] at java.security.AccessController.doPrivileged(Native Method)
| [testng] at javax.security.auth.login.LoginContext.invokeCreatorPriv(Unknown Source)
| [testng] at javax.security.auth.login.LoginContext.login(Unknown Source)
| [testng] at org.jboss.seam.security.Identity.authenticate(Identity.java:247)
| [testng] at org.jboss.seam.security.Identity.authenticate(Identity.java:240)
| [testng] at org.jboss.seam.security.Identity.login(Identity.java:170)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| [testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| [testng] at java.lang.reflect.Method.invoke(Unknown Source)
| [testng] at com.sun.el.parser.AstValue.invoke(AstValue.java:174)
| [testng] at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:286)
| [testng] at org.jboss.seam.util.UnifiedELMethodBinding.invoke(UnifiedELMethodBinding.java:36)
| [testng] at org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:58)
| [testng] at org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:75)
| [testng] at org.jboss.seam.actionparam.ActionParamBindingHelper.invokeTheExpression(ActionParamBindingHelper.java:58)
| [testng] at org.jboss.seam.actionparam.ActionParamMethodBinding.invoke(ActionParamMethodBinding.java:75)
| [testng] at org.jboss.seam.mock.SeamTest$Request.invokeMethod(SeamTest.java:401)
| [testng] at security.test.LoginTest$2.invokeApplication(LoginTest.java:38)
| [testng] at org.jboss.seam.mock.SeamTest$Request.run(SeamTest.java:489)
| [testng] at security.test.LoginTest.testSuccessfulLogin(LoginTest.java:52)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| [testng] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| [testng] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| [testng] at java.lang.reflect.Method.invoke(Unknown Source)
| [testng] at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
| [testng] at org.testng.internal.Invoker.invokeMethod(Invoker.java:470)
| [testng] at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:564)
| [testng] at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:830)
| [testng] at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
| [testng] at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
| [testng] at org.testng.TestRunner.runWorkers(TestRunner.java:678)
| [testng] at org.testng.TestRunner.privateRun(TestRunner.java:624)
| [testng] at org.testng.TestRunner.run(TestRunner.java:495)
| [testng] at org.testng.SuiteRunner.runTest(SuiteRunner.java:300)
| [testng] at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:295)
| [testng] at org.testng.SuiteRunner.privateRun(SuiteRunner.java:275)
| [testng] at org.testng.SuiteRunner.run(SuiteRunner.java:190)
| [testng] at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
| [testng] at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
| [testng] at org.testng.TestNG.run(TestNG.java:699)
| [testng] at org.testng.TestNG.privateMain(TestNG.java:824)
| [testng] at org.testng.TestNG.main(TestNG.java:802)
| [testng] FAILED: testSuccessfulLogin
| [testng] javax.el.PropertyNotFoundException: ELResolver cannot handle a null base Object with identifier 'user'
| [testng] at com.sun.el.lang.ELSupport.throwUnhandled(ELSupport.java:52)
| [testng] at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:75)
| [testng] at com.sun.el.parser.AstValue.getValue(AstValue.java:114)
| [testng] at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:195)
| [testng] at org.jboss.seam.util.UnifiedELValueBinding.getValue(UnifiedELValueBinding.java:34)
| [testng] at org.jboss.seam.mock.SeamTest$Request.getValue(SeamTest.java:366)
| [testng] at security.test.LoginTest$2.renderResponse(LoginTest.java:46)
| [testng] at org.jboss.seam.mock.SeamTest$Request.run(SeamTest.java:521)
| [testng] at security.test.LoginTest.testSuccessfulLogin(LoginTest.java:52)
| [testng] ... Removed 22 stack frames
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4083511#4083511
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4083511
More information about the jboss-user
mailing list