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.appfuse.util.ConvertUtil;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import servletunit.struts.CactusStrutsTestCase;
public class BaseStrutsTestCase extends CactusStrutsTestCase {
protected User user = null;
protected ResourceBundle rb = null;
private Log log = LogFactory.getLog(BaseStrutsTestCase.class);
protected ResourceBundle login = null;
protected WebApplicationContext ctx = null;
public BaseStrutsTestCase(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 = WebApplicationContextUtils.getRequiredWebApplicationContext(
this.getSession().getServletContext());
UserManager userMgr = (UserManager) ctx.getBean("userManager");
user = (User) userMgr.getUser(username);
getSession().setAttribute(Constants.USER_KEY, user);
}
protected void tearDown() throws Exception {
ctx = null;
}
public Object convert(Object o) throws Exception {
Object target = ConvertUtil.convert(o);
target = ConvertUtil.convertDates(o, target);
return target;
}
}