hi ove,

usually you shouldn't start the request-scope for the whole test-class.
please have a look at our own tests [1] to see the most important use-cases.
if you still have issues, please provide a demo-application which
illustrates the constellation you would like to use (without workarounds).

regards,
gerhard

[1]
https://github.com/apache/deltaspike/tree/master/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol



2014-10-15 18:54 GMT+02:00 Ove Ranheim <[email protected]>:

> Hi,
>
> I'm looking into the ExternalContainer impl in test-control and it throws
> the exception: No active contexts for scope type
> javax.enterprise.context.RequestScoped
>
> Fair enough, but how do I start the ReqeustScope using cdictrl (?), since
> it is the CdiTestControl that actually boots the container.
>
> @RunWith(PartsTestRunner.class)
> @TestControl(startScopes = RequestScoped.class, startExternalContainers =
> true)
> public class CdiTest {
> }
>
> @ApplicationScoped
> public class UndertowTestContainer implements TestAware, ExternalContainer
> {
>   ...
> }
>
> And added
> META-INF/services/org.apache.deltaspike.testcontrol.spi.ExternalContainer :
> com.parts.server.undertow.container.UndertowTestContainer
>
> The documentation is slightly sparse, so hope you can advise.
>
> Best regards
> Ove
>
>
> Oct 15, 2014 6:48:39 PM
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext
> bootExternalContainers
> WARNING: booting
> com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy
> failed
> org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active
> contexts for scope type javax.enterprise.context.RequestScoped
>         at
> org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:687)
>         at
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
>         at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
>         at
> org.jboss.weld.proxies.DynamicMockManager$1289583109$Proxy$_$$_WeldClientProxy.getMock(Unknown
> Source)
>         at
> org.apache.deltaspike.testcontrol.impl.mock.MockAwareInjectionTargetWrapper.produce(MockAwareInjectionTargetWrapper.java:59)
>         at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149)
>         at
> org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
>         at
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98)
>         at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
>         at
> com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy.setTestClass(Unknown
> Source)
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.bootExternalContainers(CdiTestRunner.java:522)
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.applyBeforeClassConfig(CdiTestRunner.java:458)
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$BeforeClassStatement.evaluate(CdiTestRunner.java:360)
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$AfterClassStatement.evaluate(CdiTestRunner.java:387)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.run(CdiTestRunner.java:136)
>         at org.junit.runners.Suite.runChild(Suite.java:127)
>         at org.junit.runners.Suite.runChild(Suite.java:26)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>         at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>         at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
>         at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:141)
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:114)
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:86)
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
>         at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
>         at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>         at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
>
> 18:48:39.635 [main] WARN  o.a.d.t.api.junit.CdiTestRunner - booting
> com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy
> failed
> org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active
> contexts for scope type javax.enterprise.context.RequestScoped
>         at
> org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:687)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> org.jboss.weld.proxies.DynamicMockManager$1289583109$Proxy$_$$_WeldClientProxy.getMock(Unknown
> Source) ~[weld-core-2.2.4.Final.jar:na]
>         at
> org.apache.deltaspike.testcontrol.impl.mock.MockAwareInjectionTargetWrapper.produce(MockAwareInjectionTargetWrapper.java:59)
> ~[deltaspike-test-control-module-impl-1.0.3.jar:1.0.3]
>         at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78)
> ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55]
>         at
> com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy.setTestClass(Unknown
> Source) ~[test-classes/:na]
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.bootExternalContainers(CdiTestRunner.java:522)
> [deltaspike-test-control-module-api-1.0.3.jar:1.0.3]
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.applyBeforeClassConfig(CdiTestRunner.java:458)
> [deltaspike-test-control-module-api-1.0.3.jar:1.0.3]
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$BeforeClassStatement.evaluate(CdiTestRunner.java:360)
> [deltaspike-test-control-module-api-1.0.3.jar:1.0.3]
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$AfterClassStatement.evaluate(CdiTestRunner.java:387)
> [deltaspike-test-control-module-api-1.0.3.jar:1.0.3]
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> [junit-4.11.jar:na]
>         at
> org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.run(CdiTestRunner.java:136)
> [deltaspike-test-control-module-api-1.0.3.jar:1.0.3]
>         at org.junit.runners.Suite.runChild(Suite.java:127)
> [junit-4.11.jar:na]
>         at org.junit.runners.Suite.runChild(Suite.java:26)
> [junit-4.11.jar:na]
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> [junit-4.11.jar:na]
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> [junit-4.11.jar:na]
>         at
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> [junit-4.11.jar:na]
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> [junit-4.11.jar:na]
>         at
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> [junit-4.11.jar:na]
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> [junit-4.11.jar:na]
>         at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
> [junit-4.11.jar:na]
>         at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
> [junit-4.11.jar:na]
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:141)
> [surefire-junit47-2.16.jar:2.16]
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:114)
> [surefire-junit47-2.16.jar:2.16]
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:86)
> [surefire-junit47-2.16.jar:2.16]
>         at
> org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
> [surefire-junit47-2.16.jar:2.16]
>         at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
> [surefire-booter-2.16.jar:2.16]
>         at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
> [surefire-booter-2.16.jar:2.16]
>         at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> [surefire-booter-2.16.jar:2.16]
>
>
>

Reply via email to