package org.appfuse.webapp.action;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
import org.apache.cactus.WebRequest;
import org.apache.cactus.client.authentication.FormAuthentication;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.appfuse.Constants;
import org.appfuse.model.User;
import org.appfuse.service.UserManager;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.web.context.WebApplicationContext;
import servletunit.struts.MockStrutsTestCase;
public class BaseMockTestCase extends MockStrutsTestCase {
protected User user = null;
protected ResourceBundle rb = null;
private Log log = LogFactory.getLog(BaseMockTestCase.class);
protected ResourceBundle login = null;
protected ApplicationContext ctx = null;
public BaseMockTestCase(String name) {
super(name);
String className = this.getClass().getName();
try {
rb = ResourceBundle.getBundle(className);
} catch (MissingResourceException mre) {
}
login = ResourceBundle.getBundle(LoginServletTest.class.getName());
}
public void begin(WebRequest request) {
request.setRedirectorName("ServletRedirectorSecure");
request.setAuthentication(new FormAuthentication(
login.getString("username"),
login.getString("encryptedPassword")));
}
public void setUp() throws Exception {
super.setUp();
String username = login.getString("username");
ctx = new ClassPathXmlApplicationContext("/applicationContext.xml");
getSession().getServletContext().setAttribute(
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, ctx);
UserManager userMgr = (UserManager) ctx.getBean("userManager");
user = (User) userMgr.getUser(username);
getSession().setAttribute(Constants.USER_KEY, user);
}
protected void tearDown() throws Exception {
ctx = null;
}
}