Blog

Monday, 23 July 2012

Reliable mail delivery in Seam

If you need to send emails form your application then there is nice seam-mail, a CDI extension. However frequently you need to assure that some email gets delivered. Let's consider registration process. User fills in their email and new password, the application should then send him mail with activation code. What if the mail server is currently down or for some other reason the mail cannot be delivered at the moment?

Monday, 18 June 2012

Mock conversation

Mock-contexts-extension allows you to turn conversation and view scopes on for your Arquillian tests. However the Conversation implementation in Weld is so tightly bound to Weld that you need to create mock alternative for it.

Thursday, 31 May 2012

seam3-persistence-framework 1.0.2 is out

We've fixed problems with DynEntityQuery not being refreshed when dynamic parameter value change. Artifacts are available at: http://artifactory.it-crowd.com.pl/repo

Monday, 28 May 2012

Mock FacesContext in Arquillian

Recently I wanted to test my backing beans for JSF views. Unfortunately the EntityQuery (from seam3-persistence-framework) is very tightly bound to JSF api, particularly it depends on FacesContext.getCurrentInstance().getELContext(). The problem is that the tests are not associated with JSF requests, so FacesContext.getCurrentInstance() returns null.

I decided to extend mock-contexts-extension to help mocking FacesContext.

Thursday, 26 April 2012

Arquillian meets JRebel

Writing tests with Arquillian is so cool. Our tests are run in container, we can inject various artifacts like EJBs, JMS queues, CDI beans and more into our tests.
But the turnaround for big deployments is too big. Even for smaller ones, if you for example use Seam3 or Hibernate it takes some seconds to redeploy. And those seconds add up.

But I've got good news for you!

Thursday, 19 April 2012

AS7 Seam2 LoggingFilter

Seam2 allows us to add user name to each server log entry triggered by that user. This is described id "Identity Logging" chapter. We only need to enable logging-filter in components.xml and add %X{username} to log pattern.

But what if we want more, like IP ?

Mock contexts for Arquillian

Do you have @ViewScoped or @ConversationScoped annotated beans that you want to test with Arquillian?

Do you get "WELD-001303 No active contexts for scope type javax.enterprise.context.ConversationScoped"?

Well now you get mock-contexts-extension to the rescue.