You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Gerhard Petracek (JIRA)" <ji...@apache.org> on 2014/10/12 01:01:33 UTC

[jira] [Resolved] (DELTASPIKE-736) MockAwareInjectionTargetWrapper breaks interceptors in unit tests

     [ https://issues.apache.org/jira/browse/DELTASPIKE-736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gerhard Petracek resolved DELTASPIKE-736.
-----------------------------------------
       Resolution: Fixed
    Fix Version/s: 1.0.4

> 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
>            Assignee: Gerhard Petracek
>             Fix For: 1.0.4
>
>         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)