Has anyone successfully run unit tests with a Maven 2 pom.xml for a Seam 
project?

I am having some trouble getting this to work...  here is what I have attempted 
to do:

1. I downloaded the latest Embeddable EJB3 (Alpha 8 - patch 2)(?)

2. installed the .jar's with this distro in my .m2 repository

3. added them to my pom.xml with test

{code}
    
      org.jboss.ejb3.microcontainer
      jboss-ejb3-all
      Alpha8.P2
      test
    

    
      org.jboss.ejb3.microcontainer
      hibernate-all
      Alpha8.P2
      test
    

    
      org.jboss.ejb3.microcontainer
      thirdparty-all
      Alpha8.P2
      test
    

{code}

4. Created a components.xml pasted below:

{code}
<?xml version="1.0" encoding="UTF-8"?>


    

  

  
      true
      true
  

  <!-- 120 second conversation timeout -->
  
      120000
  

  
    java:/appssoSessionFactory
  


{code}

NOTE:  I am using Hibernate Session with EJB3-style annotations for the 
hibernate mappings.

5. In pom.xml, I have added the dependency:

{code}
    
      org.testng
      testng
      4.7
      test
      jdk15
    
{code}

per the instructions for running TestNG test cases (this works as expected for 
normal TestNG test cases).

6. I copy the default microcontainer config files from the conf directory to my 
target/test-classes/conf directory (so that these resources will be in the 
classpath of the test runner)

7. Here is my test case:

{code}
public class UserEditorTest extends SeamTest {

    @Logger
    private Log log;

    @Test
    public void test_SessionStarter_create_delete_User() throws Exception {

        new Script() {

            @Override
            protected void updateModelValues() {

                log.info("updateModelValues()");

                User user = (User)Component.getInstance("user", true);
                assert user != null;
                user.setaNumber("A123456");

            }

            @Override
            protected void invokeApplication() {

                UserEditor userEditor = 
(UserEditor)Component.getInstance("userEditor", true);
                String outcome = userEditor.createUser();
                assert "success".equals(outcome);

            }

            @Override
            protected void renderResponse() {
                User user = (User) Component.getInstance("user", false);
                assert user != null;
                assert user.getId()>0;
                log.info("user -> "+user);
            }

        }.run();
    }
}
{code}

8. Here is my problem (when invoking the maven-test plugin):

{code}
14:22:39,891  INFO 
org.hibernate.impl.SessionFactoryObjectFactory.(addInstance:86) - Factory name: 
java:/appssoSessionFa
ctory
14:22:39,907  INFO org.hibernate.util.NamingHelper.(getInitialContext:26) - 
JNDI InitialContext properties:{}
14:22:39,938 ERROR org.hibernate.util.NamingHelper.(getInitialContext:33) - 
Could not obtain initial context
javax.naming.NamingException: Local server is not initialized
        at 
org.jnp.interfaces.LocalOnlyContextFactory.getInitialContext(LocalOnlyContextFactory.java:45)
        at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
        at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
        at javax.naming.InitialContext.init(InitialContext.java:223)
        at javax.naming.InitialContext.(InitialContext.java:175)
        at 
org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
        at 
org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:89)
        at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:291)
        at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
        at com.evergreen.userlinks.HibernateUtil.(HibernateUtil.java:23)
        at 
com.evergreen.userlinks.biz.UserLinkActionsTest.test_SessionStarter_add_delete_link(UserLinkActionsTest.java:
38)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.battery.AbstractBattery.executeTestMethod(AbstractBattery.java:124)
        at 
org.apache.maven.surefire.battery.AbstractBattery.executeTestMethods(AbstractBattery.java:70)
        at 
org.apache.maven.surefire.battery.AbstractBattery.execute(AbstractBattery.java:49)
        at 
org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBattery.java:220)
        at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:215)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.SurefireBooter.runTestsInProcess(SurefireBooter.java:313)
        at org.apache.maven.surefire.SurefireBooter.run(SurefireBooter.java:221)
        at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:371)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:47
5)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav
a:306)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
14:22:39,954  WARN 
org.hibernate.impl.SessionFactoryObjectFactory.(addInstance:98) - Could not 
bind factory to JNDI
javax.naming.NamingException: Local server is not initialized
        at 
org.jnp.interfaces.LocalOnlyContextFactory.getInitialContext(LocalOnlyContextFactory.java:45)
        at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
        at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
        at javax.naming.InitialContext.init(InitialContext.java:223)
        at javax.naming.InitialContext.(InitialContext.java:175)
        at 
org.hibernate.util.NamingHelper.getInitialContext(NamingHelper.java:28)
        at 
org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:89)
        at org.hibernate.impl.SessionFactoryImpl.(SessionFactoryImpl.java:291)
        at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1176)
        at com.evergreen.userlinks.HibernateUtil.(HibernateUtil.java:23)
        at 
com.evergreen.userlinks.biz.UserLinkActionsTest.test_SessionStarter_add_delete_link(UserLinkActionsTest.java:
38)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.battery.AbstractBattery.executeTestMethod(AbstractBattery.java:124)
        at 
org.apache.maven.surefire.battery.AbstractBattery.executeTestMethods(AbstractBattery.java:70)
        at 
org.apache.maven.surefire.battery.AbstractBattery.execute(AbstractBattery.java:49)
        at 
org.apache.maven.surefire.battery.JUnitBattery.execute(JUnitBattery.java:220)
        at org.apache.maven.surefire.Surefire.executeBattery(Surefire.java:215)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:163)
        at org.apache.maven.surefire.Surefire.run(Surefire.java:87)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at 
org.apache.maven.surefire.SurefireBooter.runTestsInProcess(SurefireBooter.java:313)
        at org.apache.maven.surefire.SurefireBooter.run(SurefireBooter.java:221)
        at org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:371)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:412)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:534)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:47
5)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:454)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.jav
a:306)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:273)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:140)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:256)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
14:22:39,954  INFO org.hibernate.tool.hbm2ddl.SchemaUpdate.(execute:115) - 
Running hbm2ddl schema update
{code}

9.  There's actually a bit more - it appears that the Hibernate bootstrapping 
is working, there is logging showing the creation of a Hibernate 
SessionFactory, etc.

It appears that the EJB3 microcontainer is not being started - and thus, the 
Local JNDI Server is not available...has anyone been able to get maven 2 - 
TestNG - with Seam - to work?

Thanks


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3952114#3952114

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3952114


_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to