TestNG problems : initCredentialsFromCookie
onclezeb Jun 16, 2008 4:02 PMHi everybody,
I just want to try to test my session ejb. I create a Seam project, and then create an action :
import javax.ejb.Stateless;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.log.Log;
import org.jboss.seam.faces.FacesMessages;
@Stateless
@Name("createProject")
public class CreateProjectBean implements CreateProject {
@Logger private Log log;
@In FacesMessages facesMessages;
public void createProject()
{
//implement your business logic here
log.info("createProject.createProject() action called");
facesMessages.add("createProject");
}
//add additional action methods
}This has generated the test class :
import org.testng.annotations.Test;
import org.jboss.seam.mock.SeamTest;
public class CreateProjectTest extends SeamTest {
@Test
public void test() throws Exception {
new FacesRequest() {
@Override
protected void invokeApplication() {
//call action methods here
invokeMethod("#{createProject.createProject}");
}
}.run();
}
}After the deployment, everythings ok on :
http://localhost:8080/mnaproject/createProject.seam. But when i launch the test, i have this error :
FAILED CONFIGURATION: @BeforeMethod begin java.lang.IllegalArgumentException: Could not invoke method by reflection: FacesSecurityEvents.initCredentialsFromCookie(org.jboss.seam.security.Identity) with parameters: (org.jboss.seam.Component) on: org.jboss.seam.security.FacesSecurityEvents at org.jboss.seam.util.Reflections.invoke(Reflections.java:31) at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125) at org.jboss.seam.Component.callComponentMethod(Component.java:2082) at org.jboss.seam.core.Events.raiseEvent(Events.java:85) at org.jboss.seam.Component.newInstance(Component.java:1969) at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304) at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278) at org.jboss.seam.contexts.Lifecycle.beginSession(Lifecycle.java:187) at org.jboss.seam.contexts.ServletLifecycle.beginSession(ServletLifecycle.java:124) at org.jboss.seam.mock.BaseSeamTest.begin(BaseSeamTest.java:920) at org.jboss.seam.mock.SeamTest.begin(SeamTest.java:28) Caused by: java.lang.IllegalArgumentException: argument type mismatch at org.jboss.seam.util.Reflections.invoke(Reflections.java:21) ... 34 more ... Removed 28 stack frames SKIPPED CONFIGURATION: @AfterMethod end SKIPPED CONFIGURATION: @AfterClass cleanup SKIPPED: test =============================================== CreateProject Test Tests run: 1, Failures: 0, Skips: 1 Configuration Failures: 1, Skips: 2 =============================================== =============================================== CreateProject Tests Total tests run: 1, Failures: 0, Skips: 1 Configuration Failures: 1, Skips: 2 ===============================================
I used Seam version 2.1.0.A1 and the JBossTools version 2.1.1 for Eclipse.JBoss is JBoss AS 4.2.2.GA.
Any ideas ??