Skip to content

Commit 601bf02

Browse files
committed
Add factory validation and default auto-registration tests
1 parent dcc81b1 commit 601bf02

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

test/org/apache/coyote/http11/TestHttp11Processor.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2227,6 +2227,45 @@ public void testNoCompressionEncodings() {
22272227
Assert.assertFalse(newEncodings.contains("gzip"));
22282228
}
22292229

2230+
@Test
2231+
public void testDefaultAutoRegistration() {
2232+
Http11NioProtocol protocol = new Http11NioProtocol();
2233+
2234+
// No factory configured - getOutputFilterFactories should auto-register GzipOutputFilterFactory
2235+
List<OutputFilterFactory> factories = protocol.getOutputFilterFactories();
2236+
Assert.assertFalse(factories.isEmpty());
2237+
Assert.assertEquals(1, factories.size());
2238+
Assert.assertTrue(factories.get(0) instanceof GzipOutputFilterFactory);
2239+
}
2240+
2241+
@Test
2242+
public void testAddOutputFilterFactory() {
2243+
Http11NioProtocol protocol = new Http11NioProtocol();
2244+
2245+
// Explicitly add a factory - should suppress default auto-registration
2246+
MockOutputFilterFactory mock = new MockOutputFilterFactory();
2247+
protocol.addOutputFilterFactory(mock);
2248+
2249+
List<OutputFilterFactory> factories = protocol.getOutputFilterFactories();
2250+
Assert.assertEquals(1, factories.size());
2251+
Assert.assertSame(mock, factories.get(0));
2252+
}
2253+
2254+
@Test
2255+
public void testAddMultipleOutputFilterFactories() {
2256+
Http11NioProtocol protocol = new Http11NioProtocol();
2257+
2258+
GzipOutputFilterFactory gzip = new GzipOutputFilterFactory();
2259+
MockOutputFilterFactory mock = new MockOutputFilterFactory();
2260+
protocol.addOutputFilterFactory(gzip);
2261+
protocol.addOutputFilterFactory(mock);
2262+
2263+
List<OutputFilterFactory> factories = protocol.getOutputFilterFactories();
2264+
Assert.assertEquals(2, factories.size());
2265+
Assert.assertSame(gzip, factories.get(0));
2266+
Assert.assertSame(mock, factories.get(1));
2267+
}
2268+
22302269
private static class EarlyHintsServlet extends HttpServlet {
22312270

22322271
private static final long serialVersionUID = 1L;

0 commit comments

Comments
 (0)