/sigmah/src/test/java/org/sigmah/server/mail/InvitationMailerTest.java

http://sigma-h.googlecode.com/ · Java · 58 lines · 38 code · 16 blank · 4 comment · 0 complexity · 785913e08a0ad313301f5a2a116c1492 MD5 · raw file

  1. /*
  2. * All Sigmah code is released under the GNU General Public License v3
  3. * See COPYRIGHT.txt and LICENSE.txt.
  4. */
  5. package org.sigmah.server.mail;
  6. import freemarker.template.Configuration;
  7. import freemarker.template.TemplateException;
  8. import org.apache.commons.mail.EmailException;
  9. import org.junit.Test;
  10. import org.junit.runner.RunWith;
  11. import org.junit.runners.Parameterized;
  12. import org.sigmah.shared.domain.User;
  13. import org.sigmah.server.dao.hibernate.UserDAOImpl;
  14. import org.sigmah.server.util.TemplateModule;
  15. import java.io.IOException;
  16. import java.util.Arrays;
  17. import java.util.Collection;
  18. import java.util.Locale;
  19. import static junit.framework.Assert.assertTrue;
  20. @RunWith(Parameterized.class)
  21. public class InvitationMailerTest {
  22. @Parameterized.Parameters
  23. public static Collection<Object[]> locales() {
  24. return Arrays.asList(new Object[][] { {Locale.ENGLISH}, { Locale.FRENCH }});
  25. }
  26. private Locale locale;
  27. public InvitationMailerTest(Locale locale) {
  28. this.locale = locale;
  29. }
  30. @Test
  31. public void testExecutes() throws IOException, TemplateException, EmailException {
  32. User newUser = UserDAOImpl.createNewUser("invitee@gmail.com", "Invitee", "en");
  33. User invitingUser = UserDAOImpl.createNewUser("akbertram@gmail.com", "Inviter", "en");
  34. Invitation invitation = new Invitation(newUser, invitingUser);
  35. TemplateModule templateModule = new TemplateModule();
  36. Configuration templateCfg = templateModule.provideConfiguration();
  37. MockMailSender sender = new MockMailSender();
  38. InvitationMailer mailer = new InvitationMailer(templateCfg, sender);
  39. mailer.send(invitation, locale);
  40. assertTrue(!sender.sentMail.isEmpty());
  41. }
  42. }