12 Replies Latest reply: May 16, 2012 3:49 PM by Dan Allen RSS

Arquillian Extension Seam2 - what's next?

Aslak Knutsen Master

> I have looked at sources and it looks great. Although I have some

> additional questions to implementation as I am not Arquillian

> developer:

>

> 1. We (will) have in Seam 2.3 parallel support of JSF1 and JSF2 by

> different seam artifactId something like

> org.jboss.seam:jboss-seam:2.3.0

> for JSF1 and org.jboss.seam:jboss-seam-jsf2:2.3.0. Have you got any

> advice or idea how to handle this in test project configuration? Or

> is

> it handled just by Maven from pom.xml

>

 

The extension could check for both dependencies in pom.xml and use the one found.

 

 

> 2. Is it possible to support in the extension more versions of Seam

> in

> one release of Seam2 extension or we need to align every Seam release

> with the arquillian-extension-seam2 release? This question is

> specifically for 2.3.0, where are required some additional artifacts

> if

> we want to use it for JSF2.

>

>

> Best regards

> ---

> Marek Novotny

> ---

> WFK and Seam Product Lead

 

 

Currently the extension reads and uses the Seam version from your pom.xml. It can also be overwritten via arquillian.xml to specify which version of the artifact to use (e.g. if your not using Maven, or you want to test against a different version runtime vs compile).

 

We could easily add a option to turn of auto packaging, and leave it up to the user. Similar we could easily add a option to define which artifacts to auto package if required.

 

<extension qualifier="seam2">
  <property name="autoPackage">false</property>
  <property name="artifacts">org.jboss.seam:jboss-seam-jsf2:2.3.0,some:other-artifact</property>
</extension>

 

Are the extra dependencies required for jsf2 not a part of the artifacts dependency tree?

  • 1. Re: Arquillian Extension Seam2 - what's next?
    Bartosz Majsak Master

    I really like the idea of artifacts property. It will also help in other cases, such as this JBoss 4.2.3 specific dep. However we might consider a possibility to define if given artifact should go as WAR or EAR lib, right?

  • 2. Re: Arquillian Extension Seam2 - what's next?
    Marek Novotny Apprentice

    Are the extra dependencies required for jsf2 not a part of the artifacts dependency tree?

    they should be there.

  • 3. Re: Arquillian Extension Seam2 - what's next?
    Marek Schmidt Newbie

    I have tried to run it with Seam 2.3 on AS7, so far with no luck  (https://github.com/maschmid/arquillian-extension-seam2/tree/as7  )

     

    Error, Caused by: java.lang.ClassNotFoundException: org.jboss.seam.contexts.Contexts from [Module "deployment.arquillian-service:main" from Service Module Loader]

    17:36:53,456 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.0.Final-SNAPSHOT "Flux Capacitor" started in 7429ms - Started 134 of 205 services (70 services are passive or on-demand)
    13-Feb-2012 17:36:56 org.jboss.shrinkwrap.resolver.impl.maven.LogRepositoryListener metadataInvalid
    WARNING: Invalid metadata org.jboss.seam:jboss-seam-parent:2.3.0-SNAPSHOT/maven-metadata.xml
    17:36:57,994 INFO  [org.jboss.as.repository] (management-handler-threads - 2) JBAS014900: Content added at location /home/maschmid/testing/as7/jboss-as-7.1.0.Final-SNAPSHOT/standalone/data/content/cf/1dbbd6e2940abc0cf33b0b4ae544e047e1237b/content
    17:36:58,014 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "arquillian-service"
    17:36:58,701 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.as.jmx:main") which may be changed or removed in future versions without notice.
    17:36:58,707 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.as.server:main") which may be changed or removed in future versions without notice.
    17:36:58,708 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.as.osgi:main") which may be changed or removed in future versions without notice.
    17:36:58,709 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.jandex:main") which may be changed or removed in future versions without notice.
    17:36:58,721 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.osgi.framework:main") which may be changed or removed in future versions without notice.
    17:36:58,722 WARN  [org.jboss.as.dependency.unsupported] (MSC service thread 1-2) JBAS018568: Deployment "deployment.arquillian-service" is using an unsupported module ("org.osgi.core:main") which may be changed or removed in future versions without notice.
    17:36:58,966 INFO  [org.jboss.as.server] (management-handler-threads - 2) JBAS018559: Deployed "arquillian-service"
    17:37:00,514 INFO  [org.jboss.as.repository] (management-handler-threads - 2) JBAS014900: Content added at location /home/maschmid/testing/as7/jboss-as-7.1.0.Final-SNAPSHOT/standalone/data/content/0e/65e6b49660b80bab39d31d432501d392278523/content
    17:37:00,528 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "test.war"
    17:37:01,512 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015893: Encountered invalid class name 'org.xmlpull.mxp1.MXParser,org.xmlpull.mxp1_serializer.MXSerializer' for service type 'org.xmlpull.v1.XmlPullParserFactory'
    17:37:01,661 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.test.war" is using a private module ("org.javassist:main") which may be changed or removed in future versions without notice.
    17:37:01,662 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.test.war" is using a private module ("org.javassist:main") which may be changed or removed in future versions without notice.
    17:37:01,778 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named EjbSynchronizations in deployment unit deployment "test.war" are as follows:
    
         java:global/test/EjbSynchronizations!org.jboss.seam.transaction.LocalEjbSynchronizations
         java:app/test/EjbSynchronizations!org.jboss.seam.transaction.LocalEjbSynchronizations
         java:module/EjbSynchronizations!org.jboss.seam.transaction.LocalEjbSynchronizations
         java:global/test/EjbSynchronizations
         java:app/test/EjbSynchronizations
         java:module/EjbSynchronizations
    
    17:37:01,782 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named TimerServiceDispatcher in deployment unit deployment "test.war" are as follows:
    
         java:global/test/TimerServiceDispatcher!org.jboss.seam.async.LocalTimerServiceDispatcher
         java:app/test/TimerServiceDispatcher!org.jboss.seam.async.LocalTimerServiceDispatcher
         java:module/TimerServiceDispatcher!org.jboss.seam.async.LocalTimerServiceDispatcher
         java:global/test/TimerServiceDispatcher
         java:app/test/TimerServiceDispatcher
         java:module/TimerServiceDispatcher
    
    17:37:02,004 INFO  [org.jboss.as.arquillian] (MSC service thread 1-1) Arquillian deployment detected: ArquillianConfig[service=jboss.arquillian.config."test.war",unit=test.war,tests=[org.jboss.arquillian.seam2.EventTestCase]]
    17:37:02,101 INFO  [javax.servlet.ServletContextListener] (MSC service thread 1-1) Welcome to Seam 2.3.0-SNAPSHOT
    17:37:02,128 WARN  [org.jboss.modules] (MSC service thread 1-1) Failed to define class org.jboss.seam.integration.jbossas.vfs.VFSScanner in Module "deployment.arquillian-service:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/jboss/seam/integration/jbossas/vfs/VFSScanner (Module "deployment.arquillian-service:main" from Service Module Loader)
         at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:396) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.Module.loadModuleClass(Module.java:517) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.seam.deployment.DeploymentStrategy.instantiateScanner(DeploymentStrategy.java:121) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.DeploymentStrategy.initScanner(DeploymentStrategy.java:105) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.DeploymentStrategy.getScanner(DeploymentStrategy.java:61) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:119) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.init.Initialization.create(Initialization.java:130) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.10.Final.jar:]
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.10.Final.jar:]
         at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT]
         at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
         at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
         at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
    Caused by: java.lang.NoClassDefFoundError: org/jboss/seam/deployment/AbstractScanner
         at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_30]
         at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_30]
         at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_30]
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [rt.jar:1.6.0_30]
         at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391) [jboss-modules.jar:1.1.1.GA]
         ... 22 more
    Caused by: java.lang.ClassNotFoundException: org.jboss.seam.deployment.AbstractScanner from [Module "deployment.arquillian-service:main" from Service Module Loader]
         at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
         ... 28 more
    
    17:37:02,234 WARN  [org.jboss.modules] (MSC service thread 1-1) Failed to define class org.jboss.seam.integration.jbossas.jms.TopicConnection in Module "deployment.arquillian-service:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/jboss/seam/integration/jbossas/jms/TopicConnection (Module "deployment.arquillian-service:main" from Service Module Loader)
         at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:396) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.Module.loadModuleClass(Module.java:517) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.seam.deployment.ClassDescriptor.(ClassDescriptor.java:30) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.AbstractScanner$Handler.getClassDescriptor(AbstractScanner.java:125) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.AbstractScanner$Handler.handle(AbstractScanner.java:67) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.AbstractScanner$Handler.handle(AbstractScanner.java:97) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.deployment.AbstractScanner.handle(AbstractScanner.java:225) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
         at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
         at org.jboss.seam.integration.jbossas.vfs.VFSScanner.handleItem(VFSScanner.java:208) [jboss-seam-int.jar:6.0.0.GA]
         at org.jboss.seam.integration.jbossas.vfs.VFSScanner.handleRoot(VFSScanner.java:190) [jboss-seam-int.jar:6.0.0.GA]
         at org.jboss.seam.integration.jbossas.vfs.VFSScanner.scanResources(VFSScanner.java:153) [jboss-seam-int.jar:6.0.0.GA]
         at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:119) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.init.Initialization.create(Initialization.java:130) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
         at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.10.Final.jar:]
         at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.10.Final.jar:]
         at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT]
         at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
         at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
         at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
    Caused by: java.lang.NoClassDefFoundError: org/jboss/seam/jms/TopicConnection
         at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_30]
         at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_30]
         at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_30]
         at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [rt.jar:1.6.0_30]
         at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391) [jboss-modules.jar:1.1.1.GA]
         ... 31 more
    Caused by: java.lang.ClassNotFoundException: org.jboss.seam.jms.TopicConnection from [Module "deployment.arquillian-service:main" from Service Module Loader]
         at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
         ... 37 more
    
    17:37:04,408 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) reading properties from: /seam.properties
    17:37:04,462 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.init, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Init
    17:37:04,479 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.web.isUserInRole
    17:37:04,480 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.locale
    17:37:04,481 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.web.parameters
    17:37:04,486 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.manager
    17:37:04,487 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.transaction.synchronizations
    17:37:04,488 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.web.userPrincipal
    17:37:04,488 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.expressions
    17:37:04,489 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.locale
    17:37:04,490 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.jms.topicConnection
    17:37:04,490 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.resourceLoader
    17:37:04,496 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.persistence.persistenceProvider
    17:37:04,518 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: converterFactory, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.simple.ConverterFactory
    17:37:04,548 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: emitter, scope: EVENT, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.event.ConversionEmitter
    17:37:04,553 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: fluidOuncesConverter, scope: EVENT, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.simple.FluidOuncesConverter
    17:37:04,567 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: holder, scope: EVENT, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.event.ConversionResultHolder
    17:37:04,587 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.async.asynchronousExceptionHandler, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.async.AsynchronousExceptionHandler
    17:37:04,599 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.async.dispatcher, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.async.ThreadPoolDispatcher
    17:37:04,643 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.captcha.captcha, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.captcha.Captcha
    17:37:04,655 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.captcha.captchaImage, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.captcha.CaptchaImage
    17:37:04,657 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.ConversationIdGenerator, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationIdGenerator
    17:37:04,672 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.contexts, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Contexts
    17:37:04,678 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversation, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Conversation
    17:37:04,692 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationEntries, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationEntries
    17:37:04,694 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationListFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationList
    17:37:04,698 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationPropagation, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationPropagation
    17:37:04,707 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationStackFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationStack
    17:37:04,713 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.events, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.Events
    17:37:04,723 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.expressions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesExpressions
    17:37:04,727 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.interpolator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Interpolator
    17:37:04,735 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.locale, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.Locale
    17:37:04,745 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.manager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesManager
    17:37:04,753 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.resourceBundle, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ResourceBundle
    17:37:04,762 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.resourceLoader, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.ResourceLoader
    17:37:04,768 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.validators, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Validators
    17:37:04,775 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.document.documentStore, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.document.DocumentStore
    17:37:04,780 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.el.referenceCache, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.el.JBossELReferenceCache
    17:37:04,789 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.exception.exceptions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.exception.Exceptions
    17:37:04,795 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.dataModels, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.DataModels
    17:37:04,798 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.dateConverter, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.DateConverter
    17:37:04,800 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.facesContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesContext
    17:37:04,802 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.facesPage, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesPage
    17:37:04,803 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.httpError, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.HttpError
    17:37:04,805 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.redirect, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.faces.Redirect
    17:37:04,806 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.switcher, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.faces.Switcher
    17:37:04,808 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.uiComponent, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.UiComponent
    17:37:04,817 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.validation, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.Validation
    17:37:04,819 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.framework.currentDate, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentDate
    17:37:04,823 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.framework.currentDatetime, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentDatetime
    17:37:04,829 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.framework.currentTime, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentTime
    17:37:04,834 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.localeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.international.LocaleSelector
    17:37:04,837 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.messagesFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.Messages
    17:37:04,847 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.statusMessages, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesMessages
    17:37:04,850 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.timeZone, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZone
    17:37:04,852 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.timeZoneSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZoneSelector
    17:37:04,854 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.timeZones, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZones
    17:37:04,860 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.mail.mailSession, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.mail.MailSession
    17:37:04,866 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.navigation.pages, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.navigation.Pages
    17:37:04,871 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.navigation.safeActions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.navigation.SafeActions
    17:37:04,874 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.persistence.persistenceContexts, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.persistence.PersistenceContexts
    17:37:04,878 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.persistence.persistenceProvider, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.persistence.PersistenceProvider
    17:37:04,880 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.configurationFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.security.Configuration
    17:37:04,882 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.credentials, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.Credentials
    17:37:04,890 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.entityPermissionChecker, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.EntityPermissionChecker
    17:37:04,893 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.facesSecurityEvents, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.FacesSecurityEvents
    17:37:04,895 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.identifierPolicy, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.IdentifierPolicy
    17:37:04,899 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.identity, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.Identity
    17:37:04,903 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.identityManager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.security.management.IdentityManager
    17:37:04,917 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.roleAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.RoleAction
    17:37:04,922 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.roleSearch, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.RoleSearch
    17:37:04,934 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.userAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.UserAction
    17:37:04,939 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.userSearch, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.UserSearch
    17:37:04,950 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.passwordHash, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.security.management.PasswordHash
    17:37:04,952 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.permission.permissionSearch, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.action.PermissionSearch
    17:37:04,958 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.permissionManager, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PermissionManager
    17:37:04,963 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.permissionMapper, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PermissionMapper
    17:37:04,964 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.persistentPermissionResolver, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PersistentPermissionResolver
    17:37:04,968 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.rememberMe, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.RememberMe
    17:37:04,971 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.theme.themeFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.theme.Theme
    17:37:04,973 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.theme.themeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.theme.ThemeSelector
    17:37:04,975 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.transaction.facesTransactionEvents, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.transaction.FacesTransactionEvents
    17:37:04,976 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.transaction.synchronizations, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.transaction.SeSynchronizations
    17:37:04,978 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.transaction.transaction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.transaction.Transaction
    17:37:04,983 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.exceptionFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.ExceptionFilter
    17:37:04,985 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.identityFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.IdentityFilter
    17:37:04,986 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.isUserInRole, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.IsUserInRole
    17:37:04,988 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.loggingFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.LoggingFilter
    17:37:04,997 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.multipartFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.MultipartFilter
    17:37:05,000 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.parameters, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.Parameters
    17:37:05,002 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.redirectFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.RedirectFilter
    17:37:05,003 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.servletContexts, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.web.ServletContexts
    17:37:05,004 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.session, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.web.Session
    17:37:05,006 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.userPrincipal, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.UserPrincipal
    17:37:05,009 WARN  [org.jboss.seam.security.permission.PersistentPermissionResolver] (MSC service thread 1-1) no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
    17:37:05,141 INFO  [org.jboss.web] (MSC service thread 1-1) JBAS018210: Registering web context: /test
    17:37:05,164 INFO  [org.jboss.as.server] (management-handler-threads - 2) JBAS018559: Deployed "test.war"
    17:37:05,534 INFO  [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (pool-4-thread-1) BeanManager not found.
    17:37:05,591 ERROR [org.jboss.arquillian.protocol.jmx.JMXTestRunner] (pool-4-thread-1) Failed: org.jboss.arquillian.seam2.EventTestCase.shouldConvertFluidOuncesToMillilitres: java.lang.NoClassDefFoundError: org/jboss/seam/contexts/Contexts
         at org.jboss.arquillian.seam2.container.Seam2Enricher.enrichFields(Seam2Enricher.java:54) [arquillian-service:]
         at org.jboss.arquillian.seam2.container.Seam2Enricher.enrich(Seam2Enricher.java:48) [arquillian-service:]
         at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52) [arquillian-service:]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
         at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
         at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) [arquillian-service:]
         at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) [arquillian-service:]
         at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89) [arquillian-service:]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
         at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
         at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-service:]
         at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75) [arquillian-service:]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
         at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
         at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-service:]
         at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60) [arquillian-service:]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
         at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
         at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
         at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-service:]
         at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134) [arquillian-service:]
         at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114) [arquillian-service:]
         at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:222) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240) [arquillian-service:]
         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) [arquillian-service:]
         at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) [arquillian-service:]
         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) [arquillian-service:]
         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) [arquillian-service:]
         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) [arquillian-service:]
         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) [arquillian-service:]
         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199) [arquillian-service:]
         at org.junit.runners.ParentRunner.run(ParentRunner.java:236) [arquillian-service:]
         at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147) [arquillian-service:]
         at org.junit.runner.JUnitCore.run(JUnitCore.java:157) [arquillian-service:]
         at org.junit.runner.JUnitCore.run(JUnitCore.java:136) [arquillian-service:]
         at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:65) [arquillian-service:]
         at org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethodInternal(JMXTestRunner.java:128) [arquillian-service:]
         at org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethod(JMXTestRunner.java:107) [arquillian-service:]
         at org.jboss.as.arquillian.service.ArquillianService$ExtendedJMXTestRunner.runTestMethod(ArquillianService.java:226) [arquillian-service:]
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
         at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) [rt.jar:1.6.0_30]
         at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) [rt.jar:1.6.0_30]
         at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) [rt.jar:1.6.0_30]
         at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120) [rt.jar:1.6.0_30]
         at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) [rt.jar:1.6.0_30]
         at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) [rt.jar:1.6.0_30]
         at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) [rt.jar:1.6.0_30]
         at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.invoke(PluggableMBeanServerImpl.java:489)
         at org.jboss.as.jmx.PluggableMBeanServerImpl.invoke(PluggableMBeanServerImpl.java:243)
         at org.jboss.remoting3.jmx.protocol.v1.ServerProxy$InvokeHandler.handle(ServerProxy.java:1034)
         at org.jboss.remoting3.jmx.protocol.v1.ServerProxy$MessageReciever$1.run(ServerProxy.java:215)
         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
         at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
    Caused by: java.lang.ClassNotFoundException: org.jboss.seam.contexts.Contexts from [Module "deployment.arquillian-service:main" from Service Module Loader]
         at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
         at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
         ... 75 more
    
    
    


  • 4. Re: Arquillian Extension Seam2 - what's next?
    Aslak Knutsen Master

    right..  this is probably because the Arquillian Seam2 bits are deployed in the Arq Service, while the Seam libs are in the deployment..

  • 5. Re: Arquillian Extension Seam2 - what's next?
    Marek Schmidt Newbie

    I thought so... any idea what is the proper way to do it on AS7, then?

  • 6. Re: Arquillian Extension Seam2 - what's next?
    Aslak Knutsen Master

    using the Servlet Protocol probably fixes it.

     

    You can define it on a global level in arq.xml <arquillian><defaultProtocol type="Servlet 3.0" />.... or @Deployment @OverProtocol("Servlet 3.0") on a pr deployment level..

     

    Also need to add a dependency to org.jboss.arquillian.protocol:arquillian-protocol-servlet

  • 7. Re: Arquillian Extension Seam2 - what's next?
    Jason Porter Master

    The servlet protocol is probably what we should be telling people to use anyway as so much of Seam 2 is dependant on actually being in server environment, otherwise you end up with SeamTest and lots and lots of mocks.

     

    EDIT: It will also make it easier for people to use Drone for functional and acceptance tests.

  • 8. Re: Arquillian Extension Seam2 - what's next?
    Dan Allen Master

    Correct, the servlet protocol is the best choice for Java EE use cases. Heaven knows module visiblitly is complex enough, no need to make it more cryptic in testing (I believe in a separate thread Pete also agreed with that, as it's being used as the recommendation for the Java EE developer tutorials).

  • 9. Re: Arquillian Extension Seam2 - what's next?
    Dan Allen Master

    I would change this a bit. Rather than thinking of it as "stuff these artifacts into the deployment", instead think of it as artifact aliases. For instance, in this scenario we need a seam-jsf integration library, either for JSF 1 or JSF 2. It makes sense, then, to define an alias for these coordinates. I'm not sure yet what the synax of the config would be, but let's just say:

     

    <property name="artifacts:seam-jsf">org.jboss.seam:jboss-seam-jsf2:2.3.0</property>
    

     

    There, whereever you would have referred to the specific GAV coordinates, you instead use the alias. The definition of that alias can be switched around dynamically based on configuration activation.

     

    There are two things that come to mind based on that idea:

     

    1. Perhaps this aliasing should be a feature of ShrinkWrap resolvers
    2. Extensions may need to define built-in aliases that would allow users to "plug-in" different artifacts

     

    I guess this is really the whole idea of library sets in an IDE. You depend on a library set name, then you have to configure which JARs make up that set.

  • 10. Re: Arquillian Extension Seam2 - what's next?
    Marek Schmidt Newbie

    I have been trying recently to use the Seam2 Arq extension to convert the Seam2.3 examples' integration test suite. It is clear that some things would not be testable with a pure Seam2 Arq, without something like jsfunit (e.g. anything that touches FacesContext, such as testing the behavior of pages.xml). The more important issue to me is the inability to test conversations in any meaningful way. Since the conversation stuff is not tied to JSF, it still should be possible to do something like the following, which we are used to with SeamTest:

     

    @Test

    void test() {

      String id = new MockRequest() {

        // do stuff here

      }.run();

     

      new MockRequest(id) {

        // do stuff there

      }.run();

    }

     

    Currently I don't think this would be possible, as the Seam2 Arq extension uses Lifecycle.beginCall(); and one cannot use Lifecycle.beginCall / Lifecycle.endCall with long-running conversations in Seam.

     

    Another thing I have noticed is that the injection into test class is mostly useless in Seam, except for simplistic cases, as due to how outjection and factories work in Seam, one has to reinject things anyway to test that something changed, so you still have to use mostly Component.getInstance, and you still have to think whether you can inject the thing in advance or not, depending on the scope.

     

    BTW. I have now managed to get the JUnitSeamTest working with Arquillian on AS7. It does not work with the Seam2 Arq extension, as the SeamTest depends on Seam not being initialized, so it can initialize it itself with the faces mocks, etc. The code is in the Seam_2_3 branch in Seam SVN.  (some examples such as booking and blog are now using Seam2 Arq extension, the others (such as nestedbooking) mostly JUnitSeamTest)

  • 11. Re: Arquillian Extension Seam2 - what's next?
    Dan Allen Master

    Marek,

     

    This functionality is something I've been stressing since the early days of Arquillian, esp when Arquillian was being evaluated through a Seam 2 (SeamTest) lens. Emulating the lifecycle is a central aspect of SeamTest.

     

    Although my first instinct was to clone the behavior, the reason I haven't pushed for it is because I think we need to take a step back and ask whether the approach that SeamTest uses is really meaningful. There's no question that the inline lifecycle emulation plugs the void so that the components can function, but it's a synthetic environment and likely to miss many real world integration failures.

     

    The most promising solution seems to be Lukas' proposed JSFUnit.NG, which is really more of an HTTP client that dually has access to server-side components and not something tied to JSF.

     

    The other approach is to implement a mock servlet container that basically works like a servlet container exception that it's totally standalone. This is the direction that SeamTest was headed and something that was implemented by JSFMock. I have suggested creating a top-level mock servlet container because it seems like everyone keeps reimplementing it over and over again.

     

    I'm a bit torn which direction to go. If we can run tests in-container, why not use real servlet requests? On the other hand, to test with something like Weld EE Embedded (which I recognize doesn't apply to Seam 2 testing, but does to JSF), you would need a mock servlet container.

     

    The obvious easy out is to use JSFUnit, but the Arquillian integration needs more work before it can be recommended.

     

    wdyt?

     

    Either way, I think we need to move on this because a Seam 2 extension w/o inline JSF lifecycle execution is going to be hard for people to adopt.

  • 12. Re: Arquillian Extension Seam2 - what's next?
    Dan Allen Master

    I've started a discussion in the Seam 2 forums on the topic of migrating SeamTest-based tests to Arquillian.

     

    Migrating Seam2 tests to Arquillian

     

    The message basically says it's a work in progress and includes references to the Seam2 extension and Arquillian Warp (JSFUnit.NG).