### Question:
ModelServerClient implements ModelServerClientApi<EObject>, ModelServerPaths { @Override public CompletableFuture<Response<List<String>>> getAll() { final Request request = new Request.Builder() .url(makeUrl(MODEL_URIS)) .build(); return call(request) .thenApply(this::getBodyOrThrow) .thenApply(response -> response.mapBody(body -> { List<String> uris = new ArrayList<>(); try { Json.parse(body).forEach(uri -> uris.add(uri.textValue())); return uris; } catch (IOException e) { throw new CompletionException(e); } })); } ModelServerClient(final String baseUrl);  ModelServerClient(final OkHttpClient client, final String baseUrl); void close(); @Override CompletableFuture<Response<String>> get(final String modelUri); @Override CompletableFuture<Response<EObject>> get(final String modelUri, final String format); @Override CompletableFuture<Response<List<String>>> getAll(); @Override CompletableFuture<Response<Boolean>> delete(final String modelUri); @Override CompletableFuture<Response<String>> update(final String modelUri, final String updatedModel); @Override CompletableFuture<Response<EObject>> update(final String modelUri, final EObject updatedModel,
      final String format); @Override CompletableFuture<Response<Boolean>> save(final String modelUri); @Override CompletableFuture<Response<String>> getSchema(final String modelUri); @Override CompletableFuture<Response<Boolean>> configure(final ServerConfiguration configuration); @Override CompletableFuture<Response<Boolean>> ping(); @Override CompletableFuture<Response<Boolean>> edit(final String modelUri, final Command command); @Override CompletableFuture<Response<Boolean>> edit(final String modelUri, final Command command, final String format); @Override CompletableFuture<Response<Boolean>> edit(final String modelUri, final CCommand command,
      final String format); @Override void subscribe(final String modelUri, final SubscriptionListener subscriptionListener, final String format); @Override boolean unsubscribe(final String modelUri); String encode(final EObject eObject); String encode(final EObject eObject, final String format); Optional<EObject> decode(final String payload); Optional<EObject> decode(final String payload, final String format); @Override EditingContext edit(); @Override boolean close(final EditingContext editingContext);  }### Answer:
@Test @SuppressWarnings({ "checkstyle:ThrowsCount" }) public void getAll() throws EncodingException, ExecutionException, InterruptedException, MalformedURLException { interceptor.addRule() .get() .url(BASE_URL + ModelServerPaths.MODEL_URIS) .respond( JsonResponse.success(JsonCodec.encode(Collections.singletonList("http: ModelServerClient client = createClient(); final CompletableFuture<Response<List<String>>> f = client.getAll(); assertThat(f.get().body(), equalTo(Collections.singletonList("http: }