view Resources/Testing/Issue32/Java/src/test/java/io/osimis/AppTest.java @ 3123:58ea4ef84c92

reproduced issue #32 in Java
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 15 Jan 2019 18:46:59 +0100
parents
children b1787ba94eef
line wrap: on
line source

package io.osimis;

import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.client.HttpRequestRetryHandler;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpRequestBase;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
import org.apache.http.util.EntityUtils;

import static org.junit.Assert.assertTrue;

import org.junit.Test;

public class AppTest 
{
  @Test
  public void testKeepAlive()
  {
    PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager();

    CloseableHttpClient client = HttpClients
      .custom()
      .setConnectionManager(cm)
      .setRetryHandler((HttpRequestRetryHandler) (exception, executionCount, context) -> {
          System.out.println("ERROR");
          assertTrue(false);
          return false;
        }).build();

    HttpRequestBase request = new HttpGet("http://localhost:8042/system");

    // The following call works
    //HttpRequestBase request = new HttpGet("https://api.ipify.org?format=json");
    
    for (int i = 0; i < 5; i++) {
      System.out.println("================================");
      try (CloseableHttpResponse httpResponse = client.execute(request)) {
        String responseContent = null;

        HttpEntity entity = httpResponse.getEntity();
        if (entity != null) {
          responseContent = EntityUtils.toString(entity);
        }

        System.out.println(httpResponse.getStatusLine().getStatusCode());
        System.out.println(responseContent);

        EntityUtils.consume(entity);
        httpResponse.close();
      } catch (IOException e) {
        System.out.println("Request error " + e);
      }
    }
      
    assertTrue(true);
  }
}