Running tests using Mysql Database
ufasoli.ulisesdante.hotmail.com Apr 3, 2009 7:22 PMHello all,
I'm new to seam and I'm trying to follow the open18
example that comes with the Seam in action
book but i'm having some troubles when I try to run a simple test using a Mysql Database instead of HSQLDB.
I followed the instructions these instructions in order to create a DataSource and then copy the file inside the bootstrap/deploy
folder but now I get the following error message :
[testng] java.lang.AssertionError: javax.el.ELException: javax.ejb.EJBTransactionRolledbackException: EntityManagerFactory not found in JNDI : java:/open18EntityManagerFactory [testng] at org.jboss.seam.mock.AbstractSeamTest$Request.onException(AbstractSeamTest.java:455) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request$2.doFilter(AbstractSeamTest.java:504) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) [testng] at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:177) [testng] at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:267) [testng] at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:380) [testng] at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:507) [testng] at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53) [testng] at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [testng] at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request.run(AbstractSeamTest.java:491) [testng] at org.open18.test.RegisterGolfIntegrationTest.registerValidGolfer(RegisterGolfIntegrationTest.java:24) [testng] Caused by: javax.el.ELException: javax.ejb.EJBTransactionRolledbackException: EntityManagerFactory not found in JNDI : java:/open18EntityManagerFactory [testng] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:333) [testng] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:342) [testng] at org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58) [testng] at org.jboss.el.parser.AstValue.invoke(AstValue.java:96) [testng] at org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request.invokeMethod(AbstractSeamTest.java:463) [testng] at org.open18.test.RegisterGolfIntegrationTest$2.invokeApplication(RegisterGolfIntegrationTest.java:42) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request.invokeApplicationPhase(AbstractSeamTest.java:646) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request.emulateJsfLifecycle(AbstractSeamTest.java:595) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request.access$300(AbstractSeamTest.java:177) [testng] at org.jboss.seam.mock.AbstractSeamTest$Request$2.doFilter(AbstractSeamTest.java:497) [testng] ... 44 more [testng] Caused by: javax.ejb.EJBTransactionRolledbackException: EntityManagerFactory not found in JNDI : java:/open18EntityManagerFactory [testng] at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:91) [testng] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130) [testng] at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:86) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptorv2.invoke(Ejb3AuthenticationInterceptorv2.java:166) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:261) [testng] at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:119) [testng] at $Proxy88.register(Unknown Source) [testng] at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [testng] at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31) [testng] at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:76) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [testng] at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:43) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [testng] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [testng] at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:54) [testng] at org.javassist.tmp.java.lang.Object_$$_javassist_2.register(Object_$$_javassist_2.java) [testng] at org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:329) [testng] ... 54 more [testng] Caused by: java.lang.IllegalArgumentException: EntityManagerFactory not found in JNDI : java:/open18EntityManagerFactory [testng] at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding(ManagedPersistenceContext.java:245) [testng] at org.jboss.seam.persistence.ManagedPersistenceContext.initEntityManager(ManagedPersistenceContext.java:78) [testng] at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManager(ManagedPersistenceContext.java:107) [testng] at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [testng] at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:144) [testng] at org.jboss.seam.Component.callComponentMethod(Component.java:2211) [testng] at org.jboss.seam.Component.unwrap(Component.java:2237) [testng] at org.jboss.seam.Component.getInstance(Component.java:2004) [testng] at org.jboss.seam.Component.getInstance(Component.java:1950) [testng] at org.jboss.seam.Component.getInstance(Component.java:1944) [testng] at org.jboss.seam.Component.getInstance(Component.java:1939) [testng] at org.open18.session.RegisterActionBean.register(RegisterActionBean.java:59) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:121) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:110) [testng] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) [testng] at org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:44) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [testng] at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [testng] at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [testng] at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [testng] at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:29) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [testng] at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:31) [testng] at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [testng] at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [testng] at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50) [testng] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118) [testng] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) [testng] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) [testng] at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126) [testng] ... 89 more [testng] Caused by: javax.naming.NameNotFoundException: open18EntityManagerFactory not bound [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:542) [testng] at org.jnp.server.NamingServer.getBinding(NamingServer.java:550) [testng] at org.jnp.server.NamingServer.getObject(NamingServer.java:556) [testng] at org.jnp.server.NamingServer.lookup(NamingServer.java:296) [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:669) [testng] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:629) [testng] at javax.naming.InitialContext.lookup(InitialContext.java:351) [testng] at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding(ManagedPersistenceContext.java:241) [testng] ... 139 more [testng] ... Removed 42 stack frames [testng] [testng] =============================================== [testng] RegisterAction Test [testng] Tests run: 2, Failures: 1, Skips: 0 [testng] =============================================== [testng] [testng] [testng] =============================================== [testng] RegisterAction Tests [testng] Total tests run: 2, Failures: 1, Skips: 0 [testng] =============================================== [testng]
Here is the test that I'm trying to run
@Test public void registerValidGolfer() throws Exception{ new FacesRequest("/register.xhtml"){ @Override protected void updateModelValues(){ Golfer g = (Golfer) Component.getInstance("newGolfer"); g.setFirstName("Tommy"); g.setLastName("TwoPutt"); g.setUsername("TwoPutt"); g.setEmailAddress("twoputt@open18.org"); setValue("#{passwordBean.password}", "ilovegolf"); setValue("#{passwordBean.confirm}", "ilovegolf"); } @Override protected void invokeApplication(){ String result = (String) invokeMethod("#{registerAction.register}"); //assert result != null && result.equals("success"); } }.run();
Do I need to copy another file inside the deploy folder?
Thanks in advance
ufasoli
Ps: I'm using Seam 2.1.1GA and jboss 4.2.2GA and running MAC OS Leopard