[
https://issues.apache.org/jira/browse/DELTASPIKE-736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ronald Steininger updated DELTASPIKE-736:
-----------------------------------------
Attachment: ds-736-demo.tgz
I've attached a demo application which allows to test this against OWB (1.2.6)
and Weld (1.1.23 and 2.2.5) via profiles "OWB" (active by default), "Weld" and
"Weld2". Included is a unit test which fails if the expected interceptor
behaviour isn't happening.
The interceptor works fine in both Weld versions, OWB shows the described
behaviour (failing InterceptorTest).
> MockAwareInjectionTargetWrapper breaks interceptors in unit tests
> -----------------------------------------------------------------
>
> Key: DELTASPIKE-736
> URL: https://issues.apache.org/jira/browse/DELTASPIKE-736
> Project: DeltaSpike
> Issue Type: Bug
> Components: TestControl
> Affects Versions: 1.0.3
> Environment: OpenWebBeans 1.2.6
> Reporter: Ronald Steininger
> Attachments: ds-736-demo.tgz
>
>
> The automatic usage of MockAwareInjectionTargetWrapper breaks method-level
> interceptors under OWB:
> org.apache.webbeans.config.BeansDeployer#validate creates the interceptor
> stack of all beans while validating the deployment (Line 474). This code
> depends on owbBean.getProducer() returning an AbstractProducer (Line 462).
> TestControl replaces that AbstractProducer in some circumstances with an
> instance of MockAwareInjectionTargetWrapper, completely deactivating the
> if-branch which would active the interceptors.
> It seems that, depending where the interceptor binding is defined on the
> intercepted bean, interceptors work or don't work: using the annotation on
> the class level results in getProducer returning a AbstractProducer ->
> interceptors work. Defining interceptors only on methods shows the broken
> behaviour described here.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)