Refactor `AbstractSimpleTransportTestCase` and `MockTransportService` to not use `Version.transportVersion` 
test/framework/src/main/java/org/elasticsearch/transport/AbstractSimpleTransportTestCase.java
} finally {
            serviceB.close(); 
            serviceA.disconnectFromNode(nodeB);
        }
    }
    public void testTimeoutSendExceptionWithNeverSendingBackResponse() throws Exception {
        serviceA.registerRequestHandler(
            "internal:sayHelloTimeoutNoResponse",
            ThreadPool.Names.GENERIC,
            StringMessageRequest::new,
            (request, channel, task) -> assertThat("moshe", equalTo(request.message))
        ); 
        Future<StringMessageResponse> res = submitRequest(
            serviceB,
            nodeA,
            "internal:sayHelloTimeoutNoResponse",
            new StringMessageRequest("moshe"),
            TransportRequestOptions.timeout(HUNDRED_MS),
            new TransportResponseHandler<StringMessageResponse>() {
                @Override
                public StringMessageResponse read(StreamInput in) throws IOException {
                    return new StringMessageResponse(in);
                }
                @Override
                public String executor() {
                    return ThreadPool.Names.GENERIC;
                }
                @Override
                public void handleResponse(StringMessageResponse response) {
                    fail("got response instead of exception");