[JBoss JIRA] Created: (ARQ-350) Map client events 1 to 1 with container events
by Aslak Knutsen (JIRA)
Map client events 1 to 1 with container events
----------------------------------------------
Key: ARQ-350
URL: https://issues.jboss.org/browse/ARQ-350
Project: Arquillian
Issue Type: Feature Request
Components: Base Implementation, Test Protocol SPIs and Implementation
Reporter: Aslak Knutsen
We should redo how the test execution lifecycles happen. In the current impl the flow is:
Client(BeforSuite, BeforeClass, Before) -> Container(BeforSuite, BeforeClass, Before, Test, After, AfterClass, AfterSuite) -> Client(After, AfterClass, AfterSuite)
We should map these 1 to 1 with the incontainer execution and keep the test instance alive between the calls.
Client(BeforeClass) -> Container(BeforeClass)
Client(Before) -> Container(Before)
..
This way the execution is closer to how it normally would be, and extensions can interact with the Container/Environment or Client in the appropriate lifecycles more naturally.
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months
[JBoss JIRA] Created: (ARQ-184) NPE in o.j.aop.Dispatcher.invoke:117 - ARQ Alpha2 + remote-50 + as-client 5.0.1
by Ondrej Žižka (JIRA)
NPE in o.j.aop.Dispatcher.invoke:117 - ARQ Alpha2 + remote-50 + as-client 5.0.1
-------------------------------------------------------------------------------
Key: ARQ-184
URL: https://jira.jboss.org/browse/ARQ-184
Project: Arquillian
Issue Type: Bug
Environment: ARQ Alpha2 + remote-50 + as-client 5.0.1 + EAP 5.0.1
Reporter: Ondrej Žižka
STR:
1) Download the project attached,
2) Run EAP 5.0.1 default, but I think the request doesn't even get sent.
3) mvn clean install (profile is self-enabled),
4) You'll get a NPE:
org.jboss.arquillian.impl.event.FiredEventException: org.jboss.arquillian.spi.LifecycleException: Could not connect to container
at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:68)
at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:62)
at org.jboss.arquillian.junit.Arquillian.<init>(Arquillian.java:71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45)
at org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96)
at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209)
at org.apache.maven.surefire.Surefire.run(Surefire.java:156)
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:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
Caused by: org.jboss.arquillian.spi.LifecycleException: Could not connect to container
at org.jboss.arquillian.jbossas.remote50.JBossASRemoteContainer.start(JBossASRemoteContainer.java:89)
at org.jboss.arquillian.impl.handler.ContainerStarter.callback(ContainerStarter.java:52)
at org.jboss.arquillian.impl.handler.ContainerStarter.callback(ContainerStarter.java:41)
at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
... 24 more
Caused by: java.lang.NullPointerException
at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:117)
at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
at org.jboss.profileservice.management.upload.remoting.AbstractDeployHandler.invoke(AbstractDeployHandler.java:210)
at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:897)
at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:768)
at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:721)
at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:548)
at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:206)
at org.jboss.remoting.Client.invoke(Client.java:1708)
at org.jboss.remoting.Client.invoke(Client.java:612)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:60)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.remoting.MergeMetaDataInterceptor.invoke(MergeMetaDataInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at AOPProxy$1.loadProfile(AOPProxy$1.java)
at org.jboss.arquillian.jbossas.remote50.JBossASRemoteContainer.initDeploymentManager(JBossASRemoteContainer.java:222)
at org.jboss.arquillian.jbossas.remote50.JBossASRemoteContainer.start(JBossASRemoteContainer.java:85)
at org.jboss.arquillian.impl.handler.ContainerStarter.callback(ContainerStarter.java:52)
at org.jboss.arquillian.impl.handler.ContainerStarter.callback(ContainerStarter.java:41)
at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:62)
at org.jboss.arquillian.junit.Arquillian.<init>(Arquillian.java:71)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.apache.maven.surefire.junit4.JUnit4TestSet.<init>(JUnit4TestSet.java:45)
at org.apache.maven.surefire.junit4.JUnit4DirectoryTestSuite.createTestSet(JUnit4DirectoryTestSuite.java:56)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.locateTestSets(AbstractDirectoryTestSuite.java:96)
at org.apache.maven.surefire.Surefire.createSuiteFromDefinition(Surefire.java:209)
at org.apache.maven.surefire.Surefire.run(Surefire.java:156)
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:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:72)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.remoting.MergeMetaDataInterceptor.invoke(MergeMetaDataInterceptor.java:74)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:65)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
at AOPProxy$1.loadProfile(AOPProxy$1.java)
at org.jboss.arquillian.jbossas.remote50.JBossASRemoteContainer.initDeploymentManager(JBossASRemoteContainer.java:222)
at org.jboss.arquillian.jbossas.remote50.JBossASRemoteContainer.start(JBossASRemoteContainer.java:85)
... 27 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months
[JBoss JIRA] Created: (ARQ-131) Include utility base class to simplify JPA testing
by Paul Bakker (JIRA)
Include utility base class to simplify JPA testing
--------------------------------------------------
Key: ARQ-131
URL: https://jira.jboss.org/jira/browse/ARQ-131
Project: Arquillian
Issue Type: Feature Request
Components: Test Harness Integration
Reporter: Paul Bakker
Priority: Minor
Two things are often needed when testing JPA code:
-1 Counting rows in a table
-2 Rolling back the transaction after each test (to speed up test execution, while potentially dangerous)
To simplify testing it would be good to have a set of base classes that implement this common functionality. Test class can extend a base class when this kind of functionality is required. The Spring framework has excellent support for this and can be used for inspiration:
http://static.springsource.org/spring/docs/3.0.x/spring-framework-referen...
I included some example code that I wrote myself to get a feel how difficult it would be to implement. The code uses an embedded container using the EJB 3.1 API, but should off course integrate with Arquillian.
By default each testcase runs in a transaction (using the usertransaction) and is rolled back at the end of the test, unless the testcase is annotated @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED). The rollback behavior can be changed with the custom @RollbackAfterTest anotation.
I would be happy to help implementing this feature.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 10 months