package org.jboss.test.faces.staging;
import static org.junit.Assert.*;
import javax.servlet.ServletContextAttributeEvent;
import javax.servlet.ServletException;
import org.jboss.test.faces.staging.RequestChain;
import org.jboss.test.faces.staging.ServerResource;
import org.jboss.test.faces.staging.ServletContainer;
import org.jboss.test.faces.staging.StagingServletContext;
import org.jboss.test.faces.staging.StaticServlet;
import org.junit.Test;
public class ServletTest {
@Test
public void testIsApplicable() {
StaticServlet staticServlet = new StaticServlet();
RequestChain servlet = new ServletContainer("/foo/*",staticServlet);
assertTrue(servlet.isApplicable("/foo/bar.jsf"));
assertFalse(servlet.isApplicable("/foz/bar.jsf"));
assertFalse(servlet.isApplicable("bar"));
servlet = new ServletContainer("*.jsf",staticServlet);
assertTrue(servlet.isApplicable("/foo/bar.jsf"));
assertFalse(servlet.isApplicable("bar"));
try {
servlet = new ServletContainer(".jsf",staticServlet);
} catch (IllegalArgumentException e) {
return;
}
assertFalse(true);
}
@Test
public void testGetServletPath() {
StaticServlet staticServlet = new StaticServlet();
RequestChain servlet = new ServletContainer("/foo/*",staticServlet);
assertEquals("/foo/", servlet.getServletPath("/foo/bar.jsf"));
assertNull(servlet.getServletPath("/foz/bar.jsf"));
servlet = new ServletContainer("*.jsf",staticServlet);
assertEquals("/foo/bar.jsf", servlet.getServletPath("/foo/bar.jsf"));
}
@Test
public void testGetPathInfo() {
StaticServlet staticServlet = new StaticServlet();
RequestChain servlet = new ServletContainer("/foo/*",staticServlet);
assertEquals("bar.jsf", servlet.getPathInfo("/foo/bar.jsf"));
assertNull(servlet.getPathInfo("/foz/bar.jsf"));
servlet = new ServletContainer("*.jsf",staticServlet);
assertNull(servlet.getPathInfo("/foo/bar.jsf"));
}
@Test
public void testInit() throws ServletException {
StaticServlet staticServlet = new StaticServlet();
RequestChain servlet = new ServletContainer("/foo/*",staticServlet);
StagingServletContext context = new StagingServletContext(){
@Override
protected ServerResource getServerResource(String path) {
// TODO Auto-generated method stub
return null;
}
@Override
protected void valueBound(ServletContextAttributeEvent event) {
// TODO Auto-generated method stub
}
@Override
protected void valueReplaced(ServletContextAttributeEvent event) {
// TODO Auto-generated method stub
}
@Override
protected void valueUnbound(
ServletContextAttributeEvent servletContextAttributeEvent) {
// TODO Auto-generated method stub
}
public String getMimeType(String file) {
// TODO Auto-generated method stub
return null;
}
};
servlet.init(context);
assertSame(context,staticServlet.getServletContext());
}
}