@Test
    void testIdleTimeoutByNoContentSent() throws Exception {
        try (Socket socket = new Socket()) {
            socket.connect(server.httpSocketAddress());
            final long connectedNanos = System.nanoTime();
            //read until EOF
            while (socket.getInputStream().read() != -1) {
                continue;
            }
            final long elapsedTimeMillis = TimeUnit.MILLISECONDS.convert(
                    System.nanoTime() - connectedNanos, TimeUnit.NANOSECONDS);
            assertThat(elapsedTimeMillis).isGreaterThan((long) (idleTimeoutMillis * 0.9));
        }
    }
Ensures that the {@link Server} is always started when a test begins. This is necessary even if we
enabled auto-start for {@link ServerRule} because we stop it in {@link #testStartStop()}.
core/src/test/java/com/linecorp/armeria/server/ServerTest.java