@Override
  public HttpResponse send(HttpRequest httpRequest) throws IOException {
    return send(httpRequest, null);
  }
@Test
  public void send_overridden_userAgent() throws IOException, InterruptedException {
    String responseBody = "test response";
    mockWebServer.enqueue(
        new MockResponse()
            .setResponseCode(HttpStatus.OK.code())
            .setHeader(CONTENT_TYPE, MediaType.PLAIN_TEXT_UTF_8.toString())
            .setBody(responseBody));
    mockWebServer.start();

    final String userAgentOverride = "User Agent In Override";

    HttpClientCliOptions cliOptions = new HttpClientCliOptions();
    cliOptions.userAgent = userAgentOverride;
    HttpClientConfigProperties configProperties = new HttpClientConfigProperties();
    cliOptions.trustAllCertificates = configProperties.trustAllCertificates = true;
    HttpClient httpClient =
        Guice.createInjector(
                new AbstractModule() {
                  @Override
                  protected void configure() {
                    install(new HttpClientModule.Builder().build());
                    bind(HttpClientCliOptions.class).toInstance(cliOptions);
                    bind(HttpClientConfigProperties.class).toInstance(configProperties);
                  }
                })
            .getInstance(HttpClient.class);

    HttpUrl baseUrl = mockWebServer.url("/");
    httpClient.send(get(baseUrl.toString()).withEmptyHeaders().build());

    assertThat(mockWebServer.takeRequest().getHeader(USER_AGENT)).isEqualTo(userAgentOverride);
  }