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