package org.appfuse.webapp.action; import org.appfuse.service.MailEngine; import org.appfuse.service.UserManager; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.mail.SimpleMailMessage; import org.subethamail.wiser.Wiser; import static org.junit.Assert.*; public class PasswordHintTest extends BasePageTestCase { private PasswordHint bean; @Autowired private UserManager userManager; @Autowired private SimpleMailMessage mailMessage; @Autowired private MailEngine mailEngine; @Override @Before public void onSetUp() { super.onSetUp(); bean = new PasswordHint(); bean.setUserManager(userManager); bean.setMessage(mailMessage); bean.setMailEngine(mailEngine); bean.setTemplateName("accountCreated.vm"); } @Test public void testExecute() throws Exception { // start SMTP Server Wiser wiser = startWiser(getSmtpPort()); bean.setUsername("user"); assertEquals("success", bean.execute()); assertFalse(bean.hasErrors()); // verify an account information e-mail was sent wiser.stop(); assertTrue(wiser.getMessages().size() == 1); // verify that success messages are in the request assertNotNull(bean.getSession().getAttribute("messages")); } }