is you test class scanned by cdi? I mean did you provide a
META-INF/beans.xml for tests?
Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2014-02-07  <[email protected]>:
> Hello Romain,
>
> thank you for your fast response. Yes I want to intercept the test itself.
>
> I've checked into various ways on how to actually create a bean, however 
> nothing worked out. You mention to call beanManager.getXXX() but for my point 
> that is not enough information.
>
> I tried to retrieve the beans of the test class via beanManager.getBeans() 
> but regardless of what I try as annotation literals there (non, Any, etc.) 
> nothing works, the list is always empty. What method exactly did you have in 
> mind here?
>
> Thanks,
>
> Heiko
>
>> -----Ursprüngliche Nachricht-----
>> Von: Romain Manni-Bucau [mailto:[email protected]]
>> Gesendet: Freitag, 7. Februar 2014 08:26
>> An: [email protected]
>> Betreff: Re: Interceptors not being called in JUnit-aware CDI environment
>>
>> =========================================================
>> ======
>>
>> ATTENTION! This message contains suspicious URL(s) possibly redirecting to
>> malicious content. Our security gateways target known problem URLs like
>> freeweb or URL Shorteners that are being abused by spammers. Some
>> examples would be groups.google.com or tinyurl.com. Please check the sender
>> and hyperlinks in the e-mail accurately before clicking on a link. If this 
>> email
>> seems obviously bad to you please delete it.  More information is available 
>> on
>> our website Information Security @ Daimler: http://intra.corpintra.net/intra-
>> is-e/spam
>>
>> =========================================================
>> ======
>>
>> ACHTUNG! Diese E-Mail enthält verdächtige URLs welche möglicherweise auf
>> schädlichen Inhalt verweisen. Die Security Gateways prüfen auf bekannte
>> Problem-URLs  wie zum Beispiel URL-Abkürzungen, die bevorzugt von
>> Spammern mißbraucht werden (tinyurl.com, groups.google.com, ...). Bitte
>> prüfen Sie den Absender und die URLs in dieser E-Mail gewissenhaft bevor sie
>> die verknüpften Inhalte aufrufen. Bitte löschen Sie diese E-Mail, wenn Sie 
>> der
>> Meinung sind, daß sich der Verdacht bestätigt. Weitere Informationen zu
>> unerwünschter E-Mail / SPAM finden Sie auf den Seiten der
>> Informationssicherheit bei Daimler unter: 
>> http://intra.corpintra.net/intra-is-
>> d/spam
>>
>> =========================================================
>> ======
>>
>>
>> HI
>>
>> You want to intercept the test? so it means the runner needs to invoke
>> "business" methods of the test class which is not the case by default (ie 
>> result
>> shouldn't be built from a newInstance() but from a beanManager.getXXX()).
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2014-02-07  <[email protected]>:
>> > Hello,
>> >
>> > I've been trying to start the CDI container during Junit-Testing as
>> > described at the following page,
>> >
>> > http://struberg.wordpress.com/2012/03/27/unit-testing-strategies-for-c
>> > di-based-projects/
>> >
>> > though I'm using Junit 4 and implemented everything using a new Runner (to
>> annotate tests with @RunWith). I kind of got inspired by he CDIUnit project, 
>> but
>> it works only with Weld and I want to use OpenWebBeans.
>> > The major things like injection work perfectly, however, I realized, that 
>> > even
>> though I implemented the following code to provided a CDI aware Test-Class,
>> an interceptor annotation on a test method is completely ignored, thus the
>> interceptors AroundInvoke annotated method is not called.
>> >
>> >     private <T> T createTest(final Class<T> testClass) throws Exception
>> >     {
>> >         final BeanManager beanManager = cdiContainer.getBeanManager();
>> >
>> >         final CreationalContext<T> creationalContext =
>> > beanManager.createCreationalContext(null);
>> >
>> >         final AnnotatedType<T> annotatedType =
>> beanManager.createAnnotatedType(testClass);
>> >         final InjectionTarget<T> injectionTarget =
>> > beanManager.createInjectionTarget(annotatedType);
>> >
>> >         final T result = (T)
>> > getTestClass().getOnlyConstructor().newInstance();
>> >
>> >         injectionTarget.inject(result, creationalContext);
>> >
>> >         return result;
>> >     }
>> >
>> > Is this expected behaviour? I'm not so familiar with how interceptors
>> > are really implemented, but I would have guest that after providing a
>> > creational context and complete injection for the test class,
>> > interceptor annotations should work too. The interceptor itself is
>> > registered correctly. It is listed among all interceptors when calling
>> >
>> > WebBeansContext.currentInstance().getInterceptorsManager().getCdiInter
>> > ceptors()
>> >
>> > however, a test annotated with the interceptor does not trigger execution 
>> > of
>> the AroundInvoke-method.
>> >
>> > Would be great, if somebody has a thought or a hint on this.
>> >
>> > Thanks,
>> >
>> > Heiko
>> >
>> >
>> > If you are not the addressee, please inform us immediately that you have
>> received this e-mail by mistake, and delete it. We thank you for your 
>> support.
>> >
>
> If you are not the addressee, please inform us immediately that you have 
> received this e-mail by mistake, and delete it. We thank you for your support.
>

Reply via email to