@Override
    public void beforeAll(ExtensionContext context) throws Exception {
        serverPort = findAvailableTcpPort();

        AbstractConfiguration config = ConfigurationManager.getConfigInstance();
        config.setProperty("zuul.server.netty.socket.force_nio", "true");
        config.setProperty("zuul.server.netty.threads.worker", String.valueOf(eventLoopThreads));
        config.setProperty("zuul.server.port.main", serverPort);
        config.setProperty("api.ribbon." + CommonClientConfigKey.ReadTimeout.key(), originReadTimeout.toMillis());
        config.setProperty(
                "api.ribbon.NIWSServerListClassName", "com.netflix.zuul.integration.server.OriginServerList");

        // short circuit graceful shutdown
        config.setProperty("server.outofservice.close.timeout", "0");
        bootstrap = new Bootstrap();
        bootstrap.start();
        assertTrue(bootstrap.isRunning());
    }
Simple extension for managing the lifecycle of a zuul server for use in integration testing

@author Justin Guerra
@since 6/9/25
zuul-integration-test/src/test/java/com/netflix/zuul/integration/ZuulServerExtension.java