|
42 | 42 | import static org.hamcrest.Matchers.contains;
|
43 | 43 | import static org.hamcrest.Matchers.containsString;
|
44 | 44 | import static org.hamcrest.Matchers.is;
|
| 45 | +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; |
45 | 46 | import static org.junit.jupiter.api.Assertions.assertEquals;
|
46 | 47 | import static org.junit.jupiter.api.Assertions.assertFalse;
|
47 | 48 | import static org.junit.jupiter.api.Assertions.assertNotNull;
|
@@ -850,6 +851,48 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IO
|
850 | 851 | assertThat(connector.getResponse("GET /other.bob HTTP/1.0\r\n\r\n"), containsString("path-/*-path-*.bob-default"));
|
851 | 852 | }
|
852 | 853 |
|
| 854 | + @Test |
| 855 | + public void testFilterMappingsResetAfterStart() throws Exception |
| 856 | + { |
| 857 | + Server server = new Server(); |
| 858 | + ServletContextHandler context = new ServletContextHandler("/"); |
| 859 | + server.setHandler(context); |
| 860 | + |
| 861 | + ServletHandler handler = context.getServletHandler(); |
| 862 | + List<FilterHolder> filterHolders = new ArrayList<>(); |
| 863 | + fh1.setFilter(new SomeFilter()); |
| 864 | + fh2.setFilter(new SomeFilter()); |
| 865 | + fh3.setFilter(new SomeFilter()); |
| 866 | + filterHolders.add(fh1); |
| 867 | + filterHolders.add(fh2); |
| 868 | + List<FilterMapping> filterMappings = new ArrayList<>(); |
| 869 | + filterMappings.add(fm1); |
| 870 | + filterMappings.add(fm2); |
| 871 | + |
| 872 | + handler.setFilters(filterHolders.toArray( |
| 873 | + new FilterHolder[filterHolders.size()] |
| 874 | + )); |
| 875 | + handler.setFilterMappings(filterMappings.toArray( |
| 876 | + new FilterMapping[filterMappings.size()] |
| 877 | + )); |
| 878 | + |
| 879 | + handler.addFilter(fh3, fm3); |
| 880 | + |
| 881 | + server.start(); |
| 882 | + |
| 883 | + context.stop(); |
| 884 | + |
| 885 | + assertDoesNotThrow(() -> |
| 886 | + { |
| 887 | + handler.setFilters(null); |
| 888 | + handler.setFilterMappings(null); |
| 889 | + handler.addFilter(fh1, fm1); |
| 890 | + handler.addFilter(fh2, fm2); |
| 891 | + handler.addFilter(fh3, fm3); |
| 892 | + context.start(); |
| 893 | + }); |
| 894 | + } |
| 895 | + |
853 | 896 | @Test
|
854 | 897 | public void testDurable() throws Exception
|
855 | 898 | {
|
|
0 commit comments