static int findAvailablePort() throws IOException {
        try (ServerSocket serverSocket = new ServerSocket(0)) {
            return serverSocket.getLocalPort();
        }
    }
This test will start an HTTP server using jetty.
Then it will start Tika Pipes Grpc service.
Then it will, using a bidirectional stream of data, send urls to the
HTTP fetcher whilst simultaneously receiving parsed output as they parse.
tika-grpc/src/test/java/org/apache/tika/pipes/grpc/PipesBiDirectionalStreamingIntegrationTest.java