use of com.dtflys.forest.http.ForestRequest in project forest by dromara.
the class TestBaseRedirectClient method testAutoRedirect_302.
@Test
public void testAutoRedirect_302() {
server.enqueue(new MockResponse().addHeader("Location", "http://localhost:" + server.getPort() + "/b").setResponseCode(302));
server.enqueue(new MockResponse().setBody(EXPECTED));
AtomicReference<ForestRequest> atomicReq = new AtomicReference<>(null);
ForestResponse<String> response = redirectClient.testAutoRedirect(((redirectReq, prevReq, prevRes) -> {
atomicReq.set(redirectReq);
}));
assertThat(atomicReq.get()).isNotNull();
assertThat(atomicReq.get().path()).isEqualTo("/b");
assertThat(response).isNotNull();
assertThat(response.getStatusCode()).isEqualTo(200);
String result = response.getResult();
assertThat(result).isNotNull().isEqualTo(EXPECTED);
}
use of com.dtflys.forest.http.ForestRequest in project forest by dromara.
the class TestBaseRedirectClient method testAutoRedirect_305.
@Test
public void testAutoRedirect_305() {
server.enqueue(new MockResponse().addHeader("Location", "http://localhost:" + server.getPort() + "/b").setResponseCode(305));
server.enqueue(new MockResponse().setBody(EXPECTED));
AtomicReference<ForestRequest> atomicReq = new AtomicReference<>(null);
ForestResponse<String> response = redirectClient.testAutoRedirect(((redirectReq, prevReq, prevRes) -> {
atomicReq.set(redirectReq);
}));
assertThat(atomicReq.get()).isNotNull();
assertThat(atomicReq.get().path()).isEqualTo("/b");
assertThat(response).isNotNull();
assertThat(response.getStatusCode()).isEqualTo(200);
String result = response.getResult();
assertThat(result).isNotNull().isEqualTo(EXPECTED);
}
use of com.dtflys.forest.http.ForestRequest in project forest by dromara.
the class TestBaseRedirectClient method testBaseNotAutoRedirect_307.
@Test
public void testBaseNotAutoRedirect_307() {
server.enqueue(new MockResponse().addHeader("Location", "http://localhost:" + server.getPort() + "/b").setResponseCode(307));
server.enqueue(new MockResponse().setBody(EXPECTED));
AtomicReference<ForestRequest> atomicReq = new AtomicReference<>(null);
ForestResponse<String> response = baseRedirectClient.testNotAutoRedirect(((redirectReq, prevReq, prevRes) -> {
atomicReq.set(redirectReq);
}));
assertThat(response).isNotNull();
assertThat(response.getStatusCode()).isEqualTo(307);
assertThat(response.isRedirection()).isTrue();
assertThat(response.getRedirectionLocation()).isEqualTo("http://localhost:" + server.getPort() + "/b");
String result = response.redirectionRequest().execute(String.class);
assertThat(result).isNotNull().isEqualTo(EXPECTED);
mockRequest(server).assertPathEquals("/");
mockRequest(server).assertPathEquals("/b").assertBodyEquals("body=" + RedirectInterceptor.BODY);
}
use of com.dtflys.forest.http.ForestRequest in project forest by dromara.
the class TestBaseRedirectClient method testBaseNotAutoRedirect_304.
@Test
public void testBaseNotAutoRedirect_304() {
server.enqueue(new MockResponse().addHeader("Location", "http://localhost:" + server.getPort() + "/b").setResponseCode(304));
server.enqueue(new MockResponse().setBody(EXPECTED));
AtomicReference<ForestRequest> atomicReq = new AtomicReference<>(null);
ForestResponse<String> response = baseRedirectClient.testNotAutoRedirect(((redirectReq, prevReq, prevRes) -> {
atomicReq.set(redirectReq);
}));
assertThat(response).isNotNull();
assertThat(response.getStatusCode()).isEqualTo(304);
assertThat(response.isRedirection()).isTrue();
assertThat(response.getRedirectionLocation()).isEqualTo("http://localhost:" + server.getPort() + "/b");
String result = response.redirectionRequest().execute(String.class);
assertThat(result).isNotNull().isEqualTo(EXPECTED);
mockRequest(server).assertPathEquals("/");
mockRequest(server).assertPathEquals("/b").assertBodyEquals("body=" + RedirectInterceptor.BODY);
}
use of com.dtflys.forest.http.ForestRequest in project forest by dromara.
the class TestBaseRedirectClient method testBaseAutoRedirect_306.
@Test
public void testBaseAutoRedirect_306() {
server.enqueue(new MockResponse().addHeader("Location", "http://localhost:" + server.getPort() + "/b").setResponseCode(306));
server.enqueue(new MockResponse().setBody(EXPECTED));
AtomicReference<ForestRequest> atomicReq = new AtomicReference<>(null);
ForestResponse<String> response = baseRedirectClient.testAutoRedirect(((redirectReq, prevReq, prevRes) -> {
atomicReq.set(redirectReq);
}));
assertThat(atomicReq.get()).isNotNull();
assertThat(atomicReq.get().path()).isEqualTo("/b");
assertThat(response).isNotNull();
assertThat(response.getStatusCode()).isEqualTo(200);
String result = response.getResult();
assertThat(result).isNotNull().isEqualTo(EXPECTED);
mockRequest(server).assertPathEquals("/");
mockRequest(server).assertPathEquals("/b").assertBodyEquals("body=" + RedirectInterceptor.BODY);
}
Aggregations