1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.rest.client;
18
19 import static org.apache.juneau.TestUtils.*;
20 import static org.apache.juneau.http.HttpResponses.*;
21
22 import java.io.*;
23 import java.net.*;
24
25 import org.apache.http.*;
26 import org.apache.http.protocol.*;
27 import org.apache.juneau.*;
28 import org.apache.juneau.http.response.*;
29 import org.apache.juneau.rest.annotation.*;
30 import org.apache.juneau.rest.mock.*;
31 import org.apache.juneau.rest.servlet.*;
32 import org.junit.jupiter.api.*;
33
34 class BasicHttpRequestRetryHandler_Test extends TestBase {
35
36 @Rest
37 public static class A extends BasicRestObject {
38 @RestGet
39 public Ok get() {
40 return OK;
41 }
42 }
43
44 public static class A1 extends HttpRequestExecutor {
45 @Override
46 public HttpResponse execute(HttpRequest request, HttpClientConnection conn, HttpContext context) throws IOException, BasicHttpException {
47 throw new UnknownHostException("foo");
48 }
49 }
50
51 @Test void a01_basic() {
52 var x = MockRestClient.create(A.class).retryHandler(new BasicHttpRequestRetryHandler(1, 1, true)).requestExecutor(new A1()).build();
53 assertThrowsWithMessage(Exception.class, "Call failed.", ()->x.get().run());
54 }
55 }