Mercurial > hg > orthanc
annotate Resources/Testing/Issue32/Java/src/test/java/io/osimis/AppTest.java @ 3477:a4f2354f04c3
fix warning from gcc 8.3.0
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 31 Jul 2019 14:35:58 +0200 |
parents | b1787ba94eef |
children |
rev | line source |
---|---|
3123
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 package io.osimis; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3 import java.io.IOException; |
3126
b1787ba94eef
fix issue #32 (HTTP keep-alive), make CivetWeb the default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3123
diff
changeset
|
4 import java.util.Base64; |
3123
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5 import org.apache.http.HttpEntity; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6 import org.apache.http.client.HttpRequestRetryHandler; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7 import org.apache.http.client.methods.CloseableHttpResponse; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 import org.apache.http.client.methods.HttpGet; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 import org.apache.http.client.methods.HttpRequestBase; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 import org.apache.http.impl.client.CloseableHttpClient; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 import org.apache.http.impl.client.HttpClients; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 import org.apache.http.util.EntityUtils; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 import static org.junit.Assert.assertTrue; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 import org.junit.Test; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 public class AppTest |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 @Test |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 public void testKeepAlive() |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
24 PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
25 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
26 CloseableHttpClient client = HttpClients |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
27 .custom() |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
28 .setConnectionManager(cm) |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
29 .setRetryHandler((HttpRequestRetryHandler) (exception, executionCount, context) -> { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
30 System.out.println("ERROR"); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
31 assertTrue(false); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
32 return false; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
33 }).build(); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
35 HttpRequestBase request = new HttpGet("http://localhost:8042/system"); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
36 |
3126
b1787ba94eef
fix issue #32 (HTTP keep-alive), make CivetWeb the default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3123
diff
changeset
|
37 // Low-level handling of HTTP basic authentication (for integration tests) |
b1787ba94eef
fix issue #32 (HTTP keep-alive), make CivetWeb the default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3123
diff
changeset
|
38 request.addHeader("Authorization", "Basic " + |
b1787ba94eef
fix issue #32 (HTTP keep-alive), make CivetWeb the default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3123
diff
changeset
|
39 Base64.getEncoder().encodeToString("alice:orthanctest".getBytes())); |
b1787ba94eef
fix issue #32 (HTTP keep-alive), make CivetWeb the default HTTP server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
3123
diff
changeset
|
40 |
3123
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
41 // The following call works |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
42 //HttpRequestBase request = new HttpGet("https://api.ipify.org?format=json"); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
43 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
44 for (int i = 0; i < 5; i++) { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
45 System.out.println("================================"); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
46 try (CloseableHttpResponse httpResponse = client.execute(request)) { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
47 String responseContent = null; |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
48 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
49 HttpEntity entity = httpResponse.getEntity(); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
50 if (entity != null) { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
51 responseContent = EntityUtils.toString(entity); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
52 } |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
53 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
54 System.out.println(httpResponse.getStatusLine().getStatusCode()); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
55 System.out.println(responseContent); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
56 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
57 EntityUtils.consume(entity); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
58 httpResponse.close(); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
59 } catch (IOException e) { |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
60 System.out.println("Request error " + e); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
61 } |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
62 } |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
63 |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
64 assertTrue(true); |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
65 } |
58ea4ef84c92
reproduced issue 32 in Java
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
66 } |