conversation doesnt start from testing - cant see why not
wiggy Apr 18, 2010 6:47 PMhaving real basic problems with conversations. can any one help
got to this cos something i was trying to do wasnt working.
when i call a method from testNG i dont get continuity in conversation context. I get a new conversation every time.
heres my test class component
package org.domain.forsterslist.richfaces.datamodel; import java.io.Serializable; import org.jboss.seam.ScopeType; import org.jboss.seam.annotations.AutoCreate; import org.jboss.seam.annotations.Begin; import org.jboss.seam.annotations.Create; import org.jboss.seam.annotations.Logger; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.Scope; import org.jboss.seam.core.Conversation; import org.jboss.seam.log.Log; @Name ("simpleConv") @Scope (ScopeType.CONVERSATION) @AutoCreate public class SimpleConv implements Serializable { /** * */ private static final long serialVersionUID = 1L; /** */ @Logger Log log; @Create public void init() { } @Begin (join=true) public String sayHello (int reqNum) { String cid = Conversation.instance().getId(); log.info("say hello with cid=#0, convLongRunning=#1 on reqNum#2", cid,Conversation.instance().isLongRunning() , reqNum); return "hello will"; } }
i then create testNG test like this
import org.jboss.seam.mock.SeamTest; import org.testng.annotations.Test; public class TestSimpleConv extends SeamTest { @Test public void uiTestDummyConv () throws Exception { new FacesRequest () { @Override protected void invokeApplication () { String res = (String) invokeMethod ("#{simpleConv.sayHello(1)}"); assert res.equals("hello will"); } }.run (); new FacesRequest () { @Override protected
which when get the trace says this .
[Parser] Running: C:\Users\will\AppData\Local\Temp\testng-eclipse\testng-customsuite.xml WARN [org.jboss.seam.security.permission.PersistentPermissionResolver] no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required. INFO [org.domain.forsterslist.richfaces.datamodel.SimpleConv] say hello with cid=1, convLongRunning=false on reqNum1 INFO [org.domain.forsterslist.richfaces.datamodel.SimpleConv] say hello with cid=2, convLongRunning=false on reqNum2 PASSED: uiTestDummyConv =============================================== org.domain.forsterslist.richfaces.datamodel.TestSimpleConv Tests run: 1, Failures: 0, Skips: 0 =============================================== =============================================== forstersList-test Total tests run: 1, Failures: 0, Skips: 0 ===============================================
as you can see i get a fresh conversation every time. Why is that ?
cant move anywhere till i understand why this is - as my other work assumes conversations get created and mainatined - my integration tests all fail in crucial ways cos this doesnt appear to be true.
frustrated of ipswich