package org.dataone.portal.session; import static org.junit.Assert.*; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; import java.util.Enumeration; import java.util.EventListener; import java.util.Map; import java.util.Set; import javax.servlet.Filter; import javax.servlet.FilterRegistration; import javax.servlet.FilterRegistration.Dynamic; import javax.servlet.GenericServlet; import javax.servlet.RequestDispatcher; import javax.servlet.Servlet; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRegistration; import javax.servlet.SessionCookieConfig; import javax.servlet.SessionTrackingMode; import javax.servlet.descriptor.JspConfigDescriptor; import org.dataone.portal.session.SessionHelper; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class SessionHelperTest { @BeforeClass public static void setUpBeforeClass() throws Exception { } @Before public void setUp() throws Exception { } @Test public void testInit_shouldFindAndParseTheConfig() throws ServletException { ServletConfig sg = new ServletConfig() { @Override public ServletContext getServletContext() { return getMockServletContext("org/dataone/portal/session/sampleHzClientConfig.properties"); } @Override public String getInitParameter(String arg0) { return null; } @Override public Enumeration getInitParameterNames() { return null; } @Override public String getServletName() { return null; } }; SessionHelper sh = SessionHelper.getInstance(); try { sh.init(sg); } catch (ServletException se) { if (!(se.getCause() instanceof IllegalStateException)) { throw se; } } } private ServletContext getMockServletContext(final String filepath) { // mostly Auto-generated method stubs return new ServletContext() { @Override public String getInitParameter(String arg0) { // TODO Auto-generated method stub if ("client-config-location".equals(arg0)) return filepath; return null; } // the rest are autopopulated return values ///////////////////////////////////////////// // TODO: uncomment the v3.0.1 methods in trunk, still at 2.5 in 2.3 branch.... // @Override // public Dynamic addFilter(String arg0, String arg1) { // // TODO Auto-generated method stub // return null; // } // // @Override // public Dynamic addFilter(String arg0, Filter arg1) { // // TODO Auto-generated method stub // return null; // } // // @Override // public Dynamic addFilter(String arg0, // Class arg1) { // // TODO Auto-generated method stub // return null; // } // // @Override // public void addListener(String arg0) { // // TODO Auto-generated method stub // // } // // @Override // public void addListener(T arg0) { // // TODO Auto-generated method stub // // } // // @Override // public void addListener(Class arg0) { // // TODO Auto-generated method stub // // } // // @Override // public javax.servlet.ServletRegistration.Dynamic addServlet( // String arg0, String arg1) { // // TODO Auto-generated method stub // return null; // } // // @Override // public javax.servlet.ServletRegistration.Dynamic addServlet( // String arg0, Servlet arg1) { // // TODO Auto-generated method stub // return null; // } // // @Override // public javax.servlet.ServletRegistration.Dynamic addServlet( // String arg0, Class arg1) { // // TODO Auto-generated method stub // return null; // } // // @Override // public T createFilter(Class arg0) // throws ServletException { // // TODO Auto-generated method stub // return null; // } // // @Override // public T createListener( // Class arg0) throws ServletException { // // TODO Auto-generated method stub // return null; // } // // @Override // public T createServlet(Class arg0) // throws ServletException { // // TODO Auto-generated method stub // return null; // } // // @Override // public void declareRoles(String... arg0) { // // TODO Auto-generated method stub // // } @Override public Object getAttribute(String arg0) { // TODO Auto-generated method stub return null; } @Override public Enumeration getAttributeNames() { // TODO Auto-generated method stub return null; } // @Override // public ClassLoader getClassLoader() { // // TODO Auto-generated method stub // return null; // } @Override public ServletContext getContext(String arg0) { // TODO Auto-generated method stub return null; } @Override public String getContextPath() { // TODO Auto-generated method stub return null; } // @Override // public Set getDefaultSessionTrackingModes() { // // TODO Auto-generated method stub // return null; // } // // @Override // public int getEffectiveMajorVersion() { // // TODO Auto-generated method stub // return 0; // } // // @Override // public int getEffectiveMinorVersion() { // // TODO Auto-generated method stub // return 0; // } // // @Override // public Set getEffectiveSessionTrackingModes() { // // TODO Auto-generated method stub // return null; // } // // @Override // public FilterRegistration getFilterRegistration(String arg0) { // // TODO Auto-generated method stub // return null; // } // // @Override // public Map getFilterRegistrations() { // // TODO Auto-generated method stub // return null; // } @Override public Enumeration getInitParameterNames() { // TODO Auto-generated method stub return null; } // @Override // public JspConfigDescriptor getJspConfigDescriptor() { // // TODO Auto-generated method stub // return null; // } @Override public int getMajorVersion() { // TODO Auto-generated method stub return 0; } @Override public String getMimeType(String arg0) { // TODO Auto-generated method stub return null; } @Override public int getMinorVersion() { // TODO Auto-generated method stub return 0; } @Override public RequestDispatcher getNamedDispatcher(String arg0) { // TODO Auto-generated method stub return null; } @Override public String getRealPath(String arg0) { // TODO Auto-generated method stub return null; } @Override public RequestDispatcher getRequestDispatcher(String arg0) { // TODO Auto-generated method stub return null; } @Override public URL getResource(String arg0) throws MalformedURLException { // TODO Auto-generated method stub return null; } @Override public InputStream getResourceAsStream(String arg0) { // TODO Auto-generated method stub return null; } @Override public Set getResourcePaths(String arg0) { // TODO Auto-generated method stub return null; } @Override public String getServerInfo() { // TODO Auto-generated method stub return null; } @Override public Servlet getServlet(String arg0) throws ServletException { // TODO Auto-generated method stub return null; } @Override public String getServletContextName() { // TODO Auto-generated method stub return null; } @Override public Enumeration getServletNames() { // TODO Auto-generated method stub return null; } // @Override // public ServletRegistration getServletRegistration( // String arg0) { // // TODO Auto-generated method stub // return null; // } // @Override // public Map getServletRegistrations() { // // TODO Auto-generated method stub // return null; // } @Override public Enumeration getServlets() { // TODO Auto-generated method stub return null; } // @Override // public SessionCookieConfig getSessionCookieConfig() { // // TODO Auto-generated method stub // return null; // } @Override public void log(String arg0) { // TODO Auto-generated method stub } @Override public void log(Exception arg0, String arg1) { // TODO Auto-generated method stub } @Override public void log(String arg0, Throwable arg1) { // TODO Auto-generated method stub } @Override public void removeAttribute(String arg0) { // TODO Auto-generated method stub } @Override public void setAttribute(String arg0, Object arg1) { // TODO Auto-generated method stub } // @Override // public boolean setInitParameter(String arg0, String arg1) { // // TODO Auto-generated method stub // return false; // } // // @Override // public void setSessionTrackingModes( // Set arg0) { // // TODO Auto-generated method stub // // } }; } }