You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2014/09/11 23:24:30 UTC
svn commit: r1624398 [2/2] - in /felix/sandbox/http-rfc189/whiteboard/src:
main/java/org/apache/felix/http/whiteboard/internal/manager/
main/java/org/apache/felix/http/whiteboard/internal/tracker/
test/java/org/apache/felix/http/whiteboard/internal/man...
Modified: felix/sandbox/http-rfc189/whiteboard/src/test/java/org/apache/felix/http/whiteboard/internal/manager/ExtenderManagerTest.java
URL: http://svn.apache.org/viewvc/felix/sandbox/http-rfc189/whiteboard/src/test/java/org/apache/felix/http/whiteboard/internal/manager/ExtenderManagerTest.java?rev=1624398&r1=1624397&r2=1624398&view=diff
==============================================================================
--- felix/sandbox/http-rfc189/whiteboard/src/test/java/org/apache/felix/http/whiteboard/internal/manager/ExtenderManagerTest.java (original)
+++ felix/sandbox/http-rfc189/whiteboard/src/test/java/org/apache/felix/http/whiteboard/internal/manager/ExtenderManagerTest.java Thu Sep 11 21:24:30 2014
@@ -18,16 +18,7 @@
*/
package org.apache.felix.http.whiteboard.internal.manager;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.when;
-import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_NAME;
-import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_PATH;
-import static org.osgi.service.http.whiteboard.HttpWhiteboardConstants.HTTP_WHITEBOARD_CONTEXT_SELECT;
import java.util.Dictionary;
@@ -35,6 +26,8 @@ import javax.servlet.Filter;
import javax.servlet.Servlet;
import javax.servlet.ServletException;
+import junit.framework.TestCase;
+
import org.apache.commons.collections.BidiMap;
import org.apache.commons.collections.bidimap.DualHashBidiMap;
import org.apache.felix.http.api.ExtHttpService;
@@ -59,60 +52,79 @@ import org.osgi.service.http.runtime.dto
import org.osgi.service.http.runtime.dto.RuntimeDTO;
import org.osgi.service.http.runtime.dto.ServletDTO;
-@SuppressWarnings({ "deprecation" })
@RunWith(MockitoJUnitRunner.class)
public class ExtenderManagerTest
{
+
private static final String SAMPLE_CONTEXT_ID = "some.context.id";
- private static final String SAMPLE_CONTEXT_NAME = "some.context.name";
- private static final String SAMPLE_CONTEXT_PATH = "/some/context/path";
+
private static final long BUNDLE_1_ID = 1L;
+
private static final long BUNDLE_2_ID = 2L;
+
private static final String SERVLET_1_ALIAS = "/servet1";
+
private static final String SERVLET_1_1_ALIAS = "/servet1_1";
+
private static final String SERVLET_2_ALIAS = "/servet2";
- private static final String SERVLET_3_ALIAS = "/servlet3";
private MockExtHttpService httpService;
@Mock
private HttpContext sampleContext;
+
@Mock
private ServletContextHelper sampleContextHelper;
+
@Mock
private Bundle bundle1;
+
@Mock
private Bundle bundle2;
+
@Mock
private ExtServlet servlet1;
+
@Mock
private ExtServlet servlet1_1;
+
@Mock
private ExtServlet servlet2;
- @Mock
- private ExtServlet servlet3;
+
@Mock
private ExtFilter filter1;
+
@Mock
private ExtFilter filter1_1;
+
+
@Mock
private ExtFilter filter2;
+
@Mock
private ServiceReference servlet1Reference;
+
@Mock
private ServiceReference servlet1_1Reference;
+
@Mock
private ServiceReference servlet2Reference;
- @Mock
- private ServiceReference servlet3Reference;
+
@Mock
private ServiceReference filter1Reference;
+
@Mock
private ServiceReference filter1_1Reference;
+
@Mock
private ServiceReference filter2Reference;
+
+ @Mock
+ private ServiceReference filterAndServletReference;
+
@Mock
private ServiceReference httpContextReference;
+
@Mock
private ServiceReference contextHelperReference;
@@ -126,41 +138,41 @@ public class ExtenderManagerTest
when(servlet1Reference.getBundle()).thenReturn(bundle1);
when(servlet1Reference.getPropertyKeys()).thenReturn(new String[0]);
- when(servlet1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(1));
when(servlet1Reference.getProperty(HttpWhiteboardConstants.ALIAS)).thenReturn(SERVLET_1_ALIAS);
+ when(servlet1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(1L);
when(servlet1_1Reference.getBundle()).thenReturn(bundle1);
when(servlet1_1Reference.getPropertyKeys()).thenReturn(new String[0]);
- when(servlet1_1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(2));
when(servlet1_1Reference.getProperty(HttpWhiteboardConstants.ALIAS)).thenReturn(SERVLET_1_1_ALIAS);
+ when(servlet1_1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(2L);
when(servlet2Reference.getBundle()).thenReturn(bundle2);
when(servlet2Reference.getPropertyKeys()).thenReturn(new String[0]);
- when(servlet2Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(3));
when(servlet2Reference.getProperty(HttpWhiteboardConstants.ALIAS)).thenReturn(SERVLET_2_ALIAS);
when(servlet2Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
+ when(servlet2Reference.getProperty(Constants.SERVICE_ID)).thenReturn(3L);
when(filter1Reference.getBundle()).thenReturn(bundle1);
when(filter1Reference.getPropertyKeys()).thenReturn(new String[0]);
- when(filter1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(4));
when(filter1Reference.getProperty(HttpWhiteboardConstants.PATTERN)).thenReturn(SERVLET_1_ALIAS);
+ when(filter1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(4L);
when(filter1_1Reference.getBundle()).thenReturn(bundle1);
when(filter1_1Reference.getPropertyKeys()).thenReturn(new String[0]);
- when(filter1_1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(5));
when(filter1_1Reference.getProperty(HttpWhiteboardConstants.PATTERN)).thenReturn(SERVLET_1_1_ALIAS);
+ when(filter1_1Reference.getProperty(Constants.SERVICE_ID)).thenReturn(5L);
when(filter2Reference.getBundle()).thenReturn(bundle2);
when(filter2Reference.getPropertyKeys()).thenReturn(new String[0]);
when(filter2Reference.getProperty(HttpWhiteboardConstants.PATTERN)).thenReturn(SERVLET_2_ALIAS);
- when(filter2Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(6));
when(filter2Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
+ when(filter2Reference.getProperty(Constants.SERVICE_ID)).thenReturn(6L);
- when(servlet3Reference.getBundle()).thenReturn(bundle2);
- when(servlet3Reference.getPropertyKeys()).thenReturn(new String[0]);
- when(servlet3Reference.getProperty(Constants.SERVICE_ID)).thenReturn(Long.valueOf(7));
- when(servlet3Reference.getProperty(HttpWhiteboardConstants.ALIAS)).thenReturn(SERVLET_3_ALIAS);
- when(servlet3Reference.getProperty(HTTP_WHITEBOARD_CONTEXT_SELECT)).thenReturn(SAMPLE_CONTEXT_NAME);
+ when(filterAndServletReference.getBundle()).thenReturn(bundle1);
+ when(filterAndServletReference.getPropertyKeys()).thenReturn(new String[0]);
+ when(filterAndServletReference.getProperty(HttpWhiteboardConstants.PATTERN)).thenReturn(SERVLET_2_ALIAS);
+ when(filterAndServletReference.getProperty(HttpWhiteboardConstants.ALIAS)).thenReturn(SERVLET_2_ALIAS);
+ when(filterAndServletReference.getProperty(Constants.SERVICE_ID)).thenReturn(7L);
this.httpService = new MockExtHttpService();
}
@@ -172,159 +184,160 @@ public class ExtenderManagerTest
}
@Test
- public void test_no_servlets_no_filters() throws Exception
+ public void test_no_servlets_no_filters()
{
ExtenderManager em = new ExtenderManager();
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
em.setHttpService(null);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertTrue(em.getMappings().isEmpty());
}
@Test
- public void test_servlet_per_bundle() throws Exception
+ public void test_servlet_per_bundle()
{
ExtenderManager em = new ExtenderManager();
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// setup a context without context ID
em.add(sampleContext, httpContextReference);
- assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
em.remove(sampleContext);
// set up a context with context ID and not shared
final String id = HttpContextManagerTest.createId(bundle1, SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// register servlet1 from bundle1
when(servlet1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(servlet1, servlet1Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, servlet1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, servlet1.getHttpContext());
// register servlet2 from bundle2
em.add(servlet2, servlet2Reference);
- assertEquals(2, em.getMappings().size());
- assertSame(servlet2, ((ServletMapping) em.getMappings().get(servlet2Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_2_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(servlet2Reference)));
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertSame(servlet2, getServletMapping(em, servlet2Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertNull(this.httpService.getServlets().get(SERVLET_2_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getServletMapping(em, servlet2Reference)));
// unregister servlet2
- em.remove(servlet2Reference);
+ em.removeServlet(servlet2Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister servlet1
- em.remove(servlet1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeServlet(servlet1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister context
em.remove(sampleContext);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_servlet_shared() throws Exception
+ public void test_servlet_shared()
{
ExtenderManager em = new ExtenderManager();
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// set up a context with context ID and shared
final String id = HttpContextManagerTest.createId(SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_SHARED)).thenReturn("true");
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// register servlet1 from bundle1
when(servlet1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(servlet1, servlet1Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, servlet1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, servlet1.getHttpContext());
// register servlet2 from bundle2
em.add(servlet2, servlet2Reference);
- assertEquals(2, em.getMappings().size());
- assertSame(servlet2, ((ServletMapping) em.getMappings().get(servlet2Reference)).getServlet());
- assertEquals(2, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(2, this.httpService.getServlets().size());
- assertSame(servlet2, this.httpService.getServlets().get(SERVLET_2_ALIAS));
- assertEquals(0, em.getOrphanMappings().size());
- assertSame(sampleContext, servlet2.getHttpContext());
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertSame(servlet2, getServletMapping(em, servlet2Reference).getServlet());
+ TestCase.assertEquals(2, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(2, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet2, this.httpService.getServlets().get(SERVLET_2_ALIAS));
+ TestCase.assertEquals(0, em.getOrphanMappings().size());
+ TestCase.assertSame(sampleContext, servlet2.getHttpContext());
// unregister servlet2
- em.remove(servlet2Reference);
+ em.removeServlet(servlet2Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister servlet1
- em.remove(servlet1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeServlet(servlet1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister context
em.remove(sampleContext);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_servlet_no_context_id() throws Exception
+ public void test_servlet_no_context_id()
{
ExtenderManager em = new ExtenderManager();
final String id1 = HttpContextManagerTest.createId(bundle1, null);
@@ -332,363 +345,308 @@ public class ExtenderManagerTest
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
- assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
// register servlet1 from bundle1
em.add(servlet1, servlet1Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id1).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(DefaultHttpContext.class, servlet1.getHttpContext().getClass());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id1).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(DefaultHttpContext.class, servlet1.getHttpContext().getClass());
// register servlet2 from bundle2
when(servlet2Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn("");
em.add(servlet2, servlet2Reference);
- assertEquals(2, em.getMappings().size());
- assertSame(servlet2, ((ServletMapping) em.getMappings().get(servlet2Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id2).getMappings().size());
- assertEquals(2, this.httpService.getServlets().size());
- assertSame(servlet2, this.httpService.getServlets().get(SERVLET_2_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(DefaultHttpContext.class, servlet2.getHttpContext().getClass());
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertSame(servlet2, getServletMapping(em, servlet2Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id2).getMappings().size());
+ TestCase.assertEquals(2, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet2, this.httpService.getServlets().get(SERVLET_2_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(DefaultHttpContext.class, servlet2.getHttpContext().getClass());
// different HttpContext instances per servlet/per bundle
- assertNotSame(servlet1.getHttpContext(), servlet2.getHttpContext());
+ TestCase.assertNotSame(servlet1.getHttpContext(), servlet2.getHttpContext());
// register servlet 1_1 from bundle 1
em.add(servlet1_1, servlet1_1Reference);
- assertEquals(3, em.getMappings().size());
- assertSame(servlet1_1, ((ServletMapping) em.getMappings().get(servlet1_1Reference)).getServlet());
- assertEquals(2, em.getHttpContexts().get(id1).getMappings().size());
- assertEquals(3, this.httpService.getServlets().size());
- assertSame(servlet1_1, this.httpService.getServlets().get(SERVLET_1_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(DefaultHttpContext.class, servlet1_1.getHttpContext().getClass());
+ TestCase.assertEquals(3, em.getMappings().size());
+ TestCase.assertSame(servlet1_1, getServletMapping(em, servlet1_1Reference).getServlet());
+ TestCase.assertEquals(2, em.getHttpContexts().get(id1).getMappings().size());
+ TestCase.assertEquals(3, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1_1, this.httpService.getServlets().get(SERVLET_1_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(DefaultHttpContext.class, servlet1_1.getHttpContext().getClass());
// same HttpContext instances per servlet in same bundle
- assertSame(servlet1.getHttpContext(), servlet1_1.getHttpContext());
+ TestCase.assertSame(servlet1.getHttpContext(), servlet1_1.getHttpContext());
}
@Test
- public void test_servlet_before_context_per_bundle() throws Exception
+ public void test_servlet_before_context_per_bundle()
{
ExtenderManager em = new ExtenderManager();
final String id = HttpContextManagerTest.createId(bundle1, SAMPLE_CONTEXT_ID);
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// register servlet1 from bundle1
when(servlet1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(servlet1, servlet1Reference);
// servlet not registered with HttpService yet
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(servlet1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getServletMapping(em, servlet1Reference)));
// set up a context with context ID and not shared
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// servlet registered with HttpService
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, servlet1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, servlet1.getHttpContext());
// unregister context
em.remove(sampleContext);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(servlet1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getServletMapping(em, servlet1Reference)));
// unregister servlet1
- em.remove(servlet1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeServlet(servlet1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_servlet_before_context_helper() throws Exception
- {
- ExtenderManager em = new ExtenderManager();
- final String id = HttpContextManagerTest.createId(bundle2, SAMPLE_CONTEXT_NAME, true);
-
- // prepare with http service
- em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
-
- // register servlet3 from bundle2
- em.add(servlet3, servlet3Reference);
-
- // servlet not registered with HttpService yet
- assertEquals(1, em.getMappings().size());
- assertSame(servlet3, ((ServletMapping) em.getMappings().get(servlet3Reference)).getServlet());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_3_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_NAME).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_NAME).contains(em.getMappings().get(servlet3Reference)));
-
- // set up a context helper with name
- when(contextHelperReference.getProperty(HTTP_WHITEBOARD_CONTEXT_NAME)).thenReturn(SAMPLE_CONTEXT_NAME);
- em.add(sampleContextHelper, contextHelperReference);
- assertEquals(1, em.getHttpContexts().size());
-
- // servlet registered with HttpService
- assertEquals(1, em.getMappings().size());
- assertSame(servlet3, ((ServletMapping) em.getMappings().get(servlet3Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet3, this.httpService.getServlets().get(SERVLET_3_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
-
- final HttpContext context = servlet3.getHttpContext();
- assertTrue(context instanceof HttpContextBridge);
- assertSame(sampleContextHelper, ((HttpContextBridge) context).getDelegatee());
-
- // unregister context helper
- em.remove(sampleContextHelper);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet3, ((ServletMapping) em.getMappings().get(servlet3Reference)).getServlet());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_3_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_NAME).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_NAME).contains(em.getMappings().get(servlet3Reference)));
-
- // unregister servlet1
- em.remove(servlet3Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
- }
-
- @Test
- public void test_servlet_before_context_shared() throws Exception
+ public void test_servlet_before_context_shared()
{
ExtenderManager em = new ExtenderManager();
final String id = HttpContextManagerTest.createId(SAMPLE_CONTEXT_ID);
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getServlets().isEmpty());
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// register servlet1 from bundle1
when(servlet1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(servlet1, servlet1Reference);
// servlet not registered with HttpService yet
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(servlet1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getServletMapping(em, servlet1Reference)));
// set up a context with context ID and not shared
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_SHARED)).thenReturn(true);
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// servlet registered with HttpService
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getServlets().size());
- assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, servlet1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertSame(servlet1, this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, servlet1.getHttpContext());
// unregister context
em.remove(sampleContext);
- assertEquals(1, em.getMappings().size());
- assertSame(servlet1, ((ServletMapping) em.getMappings().get(servlet1Reference)).getServlet());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getServlets().size());
- assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(servlet1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(servlet1, getServletMapping(em, servlet1Reference).getServlet());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertNull(this.httpService.getServlets().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getServletMapping(em, servlet1Reference)));
// unregister servlet1
- em.remove(servlet1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getServlets().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeServlet(servlet1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_filter_per_bundle() throws Exception
+ public void test_filter_per_bundle()
{
ExtenderManager em = new ExtenderManager();
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// setup a context without context ID
em.add(sampleContext, httpContextReference);
- assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
em.remove(sampleContext);
// set up a context with context ID and not shared
final String id = HttpContextManagerTest.createId(bundle1, SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// register filter1 from bundle1
when(filter1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(filter1, filter1Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, filter1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, filter1.getHttpContext());
// register filter2 from bundle2
em.add(filter2, filter2Reference);
- assertEquals(2, em.getMappings().size());
- assertSame(filter2, ((FilterMapping) em.getMappings().get(filter2Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertNull(this.httpService.getFilters().get(SERVLET_2_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(filter2Reference)));
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertSame(filter2, getFilterMapping(em, filter2Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertNull(this.httpService.getFilters().get(SERVLET_2_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getFilterMapping(em, filter2Reference)));
// unregister filter2
- em.remove(filter2Reference);
+ em.removeFilter(filter2Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister filter1
- em.remove(filter1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
- assertEquals(0, this.httpService.getFilters().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeFilter(filter1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister context
em.remove(sampleContext);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getFilters().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_filter_shared() throws Exception
+ public void test_filter_shared()
{
ExtenderManager em = new ExtenderManager();
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// set up a context with context ID and shared
final String id = HttpContextManagerTest.createId(SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_SHARED)).thenReturn("true");
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// register filter1 from bundle1
when(filter1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(filter1, filter1Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, filter1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, filter1.getHttpContext());
// register filter2 from bundle2
em.add(filter2, filter2Reference);
- assertEquals(2, em.getMappings().size());
- assertSame(filter2, ((FilterMapping) em.getMappings().get(filter2Reference)).getFilter());
- assertEquals(2, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(2, this.httpService.getFilters().size());
- assertSame(filter2, this.httpService.getFilters().get(SERVLET_2_ALIAS));
- assertEquals(0, em.getOrphanMappings().size());
- assertSame(sampleContext, filter2.getHttpContext());
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertSame(filter2, getFilterMapping(em, filter2Reference).getFilter());
+ TestCase.assertEquals(2, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(2, this.httpService.getFilters().size());
+ TestCase.assertSame(filter2, this.httpService.getFilters().get(SERVLET_2_ALIAS));
+ TestCase.assertEquals(0, em.getOrphanMappings().size());
+ TestCase.assertSame(sampleContext, filter2.getHttpContext());
// unregister filter2
- em.remove(filter2Reference);
+ em.removeFilter(filter2Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister filter1
- em.remove(filter1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
- assertEquals(0, this.httpService.getFilters().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeFilter(filter1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().get(id).getMappings().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
// unregister context
em.remove(sampleContext);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getFilters().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_filter_no_context_id() throws Exception
+ public void test_filter_no_context_id()
{
ExtenderManager em = new ExtenderManager();
final String id1 = HttpContextManagerTest.createId(bundle1, null);
@@ -696,163 +654,210 @@ public class ExtenderManagerTest
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getFilters().isEmpty());
- assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
// register filter1 from bundle1
em.add(filter1, filter1Reference);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id1).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(DefaultHttpContext.class, filter1.getHttpContext().getClass());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id1).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(DefaultHttpContext.class, filter1.getHttpContext().getClass());
// register filter2 from bundle2
when(filter2Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn("");
em.add(filter2, filter2Reference);
- assertEquals(2, em.getMappings().size());
- assertSame(filter2, ((FilterMapping) em.getMappings().get(filter2Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id2).getMappings().size());
- assertEquals(2, this.httpService.getFilters().size());
- assertSame(filter2, this.httpService.getFilters().get(SERVLET_2_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(DefaultHttpContext.class, filter2.getHttpContext().getClass());
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertSame(filter2, getFilterMapping(em, filter2Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id2).getMappings().size());
+ TestCase.assertEquals(2, this.httpService.getFilters().size());
+ TestCase.assertSame(filter2, this.httpService.getFilters().get(SERVLET_2_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(DefaultHttpContext.class, filter2.getHttpContext().getClass());
// different HttpContext instances per servlet/per bundle
- assertNotSame(filter1.getHttpContext(), filter2.getHttpContext());
+ TestCase.assertNotSame(filter1.getHttpContext(), filter2.getHttpContext());
// register servlet 1_1 from bundle 1
em.add(filter1_1, filter1_1Reference);
- assertEquals(3, em.getMappings().size());
- assertSame(filter1_1, ((FilterMapping) em.getMappings().get(filter1_1Reference)).getFilter());
- assertEquals(2, em.getHttpContexts().get(id1).getMappings().size());
- assertEquals(3, this.httpService.getFilters().size());
- assertSame(filter1_1, this.httpService.getFilters().get(SERVLET_1_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(DefaultHttpContext.class, filter1_1.getHttpContext().getClass());
+ TestCase.assertEquals(3, em.getMappings().size());
+ TestCase.assertSame(filter1_1, getFilterMapping(em, filter1_1Reference).getFilter());
+ TestCase.assertEquals(2, em.getHttpContexts().get(id1).getMappings().size());
+ TestCase.assertEquals(3, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1_1, this.httpService.getFilters().get(SERVLET_1_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(DefaultHttpContext.class, filter1_1.getHttpContext().getClass());
// same HttpContext instances per servlet in same bundle
- assertSame(filter1.getHttpContext(), filter1_1.getHttpContext());
+ TestCase.assertSame(filter1.getHttpContext(), filter1_1.getHttpContext());
}
@Test
- public void test_filter_before_context_per_bundle() throws Exception
+ public void test_filter_before_context_per_bundle()
{
ExtenderManager em = new ExtenderManager();
final String id = HttpContextManagerTest.createId(bundle1, SAMPLE_CONTEXT_ID);
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// register filter1 from bundle1
when(filter1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(filter1, filter1Reference);
// servlet not registered with HttpService yet
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getFilters().size());
- assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(filter1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getFilterMapping(em, filter1Reference)));
// set up a context with context ID and not shared
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// servlet registered with HttpService
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, filter1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, filter1.getHttpContext());
// unregister context
em.remove(sampleContext);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getFilters().size());
- assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(filter1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getFilterMapping(em, filter1Reference)));
// unregister filter1
- em.remove(filter1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getFilters().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeFilter(filter1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
}
@Test
- public void test_filter_before_context_shared() throws Exception
+ public void test_filter_before_context_shared()
{
ExtenderManager em = new ExtenderManager();
final String id = HttpContextManagerTest.createId(SAMPLE_CONTEXT_ID);
// prepare with http service
em.setHttpService(this.httpService);
- assertTrue(this.httpService.getFilters().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
// register filter1 from bundle1
when(filter1Reference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
em.add(filter1, filter1Reference);
// servlet not registered with HttpService yet
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getFilters().size());
- assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(filter1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getFilterMapping(em, filter1Reference)));
// set up a context with context ID and not shared
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_ID)).thenReturn(SAMPLE_CONTEXT_ID);
when(httpContextReference.getProperty(HttpWhiteboardConstants.CONTEXT_SHARED)).thenReturn(true);
em.add(sampleContext, httpContextReference);
- assertEquals(1, em.getHttpContexts().size());
+ TestCase.assertEquals(1, em.getHttpContexts().size());
// servlet registered with HttpService
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
- assertEquals(1, this.httpService.getFilters().size());
- assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertTrue(em.getOrphanMappings().isEmpty());
- assertSame(sampleContext, filter1.getHttpContext());
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(1, em.getHttpContexts().get(id).getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ TestCase.assertSame(sampleContext, filter1.getHttpContext());
// unregister context
em.remove(sampleContext);
- assertEquals(1, em.getMappings().size());
- assertSame(filter1, ((FilterMapping) em.getMappings().get(filter1Reference)).getFilter());
- assertEquals(0, em.getHttpContexts().size());
- assertEquals(0, this.httpService.getFilters().size());
- assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
- assertEquals(1, em.getOrphanMappings().size());
- assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
- assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).contains(em.getMappings().get(filter1Reference)));
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filter1Reference).getFilter());
+ TestCase.assertEquals(0, em.getHttpContexts().size());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertNull(this.httpService.getFilters().get(SERVLET_1_ALIAS));
+ TestCase.assertEquals(1, em.getOrphanMappings().size());
+ TestCase.assertEquals(1, em.getOrphanMappings().get(SAMPLE_CONTEXT_ID).size());
+ TestCase.assertTrue(em.getOrphanMappings().get(SAMPLE_CONTEXT_ID)
+ .contains(getFilterMapping(em, filter1Reference)));
// unregister filter1
- em.remove(filter1Reference);
- assertTrue(em.getMappings().isEmpty());
- assertTrue(em.getHttpContexts().isEmpty());
- assertEquals(0, this.httpService.getFilters().size());
- assertTrue(em.getOrphanMappings().isEmpty());
+ em.removeFilter(filter1Reference);
+ TestCase.assertTrue(em.getMappings().isEmpty());
+ TestCase.assertTrue(em.getHttpContexts().isEmpty());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertTrue(em.getOrphanMappings().isEmpty());
+ }
+
+ @Test
+ public void test_filter_and_servlet_in_one_service()
+ {
+ ExtenderManager em = new ExtenderManager();
+
+ // prepare with http service
+ em.setHttpService(this.httpService);
+ TestCase.assertTrue(this.httpService.getServlets().isEmpty());
+ TestCase.assertTrue(this.httpService.getFilters().isEmpty());
+
+ // register filter1 from bundle1
+ em.add(filter1, filterAndServletReference);
+ em.add(servlet1, filterAndServletReference);
+
+ TestCase.assertEquals(2, em.getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertEquals(1, this.httpService.getFilters().size());
+ TestCase.assertSame(filter1, getFilterMapping(em, filterAndServletReference).getFilter());
+ TestCase.assertSame(servlet1, getServletMapping(em, filterAndServletReference).getServlet());
+
+ em.removeFilter(filterAndServletReference);
+ TestCase.assertEquals(1, em.getMappings().size());
+ TestCase.assertEquals(1, this.httpService.getServlets().size());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertNull(getFilterMapping(em, filterAndServletReference));
+ TestCase.assertSame(servlet1, getServletMapping(em, filterAndServletReference).getServlet());
+
+ em.removeServlet(filterAndServletReference);
+ TestCase.assertEquals(0, em.getMappings().size());
+ TestCase.assertEquals(0, this.httpService.getServlets().size());
+ TestCase.assertEquals(0, this.httpService.getFilters().size());
+ TestCase.assertNull(getFilterMapping(em, filterAndServletReference));
+ TestCase.assertNull(getServletMapping(em, filterAndServletReference));
+ }
+
+ private FilterMapping getFilterMapping(final ExtenderManager em, final ServiceReference ref) {
+ return (FilterMapping) em.getMappings().get(ref.getProperty(Constants.SERVICE_ID).toString() + ExtenderManager.TYPE_FILTER);
+ }
+
+ private ServletMapping getServletMapping(final ExtenderManager em, final ServiceReference ref) {
+ return (ServletMapping) em.getMappings().get(ref.getProperty(Constants.SERVICE_ID).toString() + ExtenderManager.TYPE_SERVLET);
}
static interface ExtFilter extends Filter
@@ -867,6 +872,7 @@ public class ExtenderManagerTest
static final class MockExtHttpService implements ExtHttpService
{
+
private final BidiMap /* <String, Servlet> */servlets = new DualHashBidiMap();
private final BidiMap /* <String, Filter> */filters = new DualHashBidiMap();
@@ -886,10 +892,12 @@ public class ExtenderManagerTest
return filters;
}
- public void registerServlet(String alias, Servlet servlet, @SuppressWarnings("rawtypes") Dictionary initparams, HttpContext context)
+ public void registerServlet(String alias, Servlet servlet, @SuppressWarnings("rawtypes") Dictionary initparams,
+ HttpContext context)
+
{
// always expect a non-null HttpContext here !!
- assertNotNull(context);
+ TestCase.assertNotNull(context);
this.servlets.put(alias, servlet);
@@ -937,10 +945,11 @@ public class ExtenderManagerTest
return null;
}
- public void registerFilter(Filter filter, String pattern, @SuppressWarnings("rawtypes") Dictionary initParams, int ranking, HttpContext context)
+ public void registerFilter(Filter filter, String pattern, @SuppressWarnings("rawtypes") Dictionary initParams,
+ int ranking, HttpContext context)
{
// always expect a non-null HttpContext here !!
- assertNotNull(context);
+ TestCase.assertNotNull(context);
this.filters.put(pattern, filter);