Skip to content

Commit cb3bec0

Browse files
committed
simplified Apache5HttpClientService
1 parent 48935de commit cb3bec0

2 files changed

Lines changed: 8 additions & 23 deletions

File tree

client/src/main/java/nl/altindag/client/service/Apache5HttpClientService.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@
2020
import org.apache.hc.client5.http.classic.methods.ClassicHttpRequests;
2121
import org.apache.hc.client5.http.classic.methods.HttpUriRequest;
2222
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
23-
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
2423
import org.apache.hc.core5.http.io.entity.EntityUtils;
2524
import org.springframework.stereotype.Service;
2625

26+
import java.net.URI;
27+
2728
import static nl.altindag.client.ClientType.APACHE5_HTTP_CLIENT;
2829
import static nl.altindag.client.Constants.HEADER_KEY_CLIENT_TYPE;
2930

@@ -38,12 +39,10 @@ public Apache5HttpClientService(CloseableHttpClient httpClient) {
3839

3940
@Override
4041
public ClientResponse executeRequest(String url) throws Exception {
41-
HttpUriRequest request = ClassicHttpRequests.get(url);
42+
HttpUriRequest request = ClassicHttpRequests.get(URI.create(url));
4243
request.addHeader(HEADER_KEY_CLIENT_TYPE, getClientType().getValue());
4344

44-
CloseableHttpResponse response = httpClient.execute(request);
45-
46-
return new ClientResponse(EntityUtils.toString(response.getEntity()), response.getCode());
45+
return httpClient.execute(request, response -> new ClientResponse(EntityUtils.toString(response.getEntity()), response.getCode()));
4746
}
4847

4948
@Override

client/src/test/java/nl/altindag/client/service/Apache5HttpClientServiceShould.java

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,21 @@
1717

1818
import nl.altindag.client.model.ClientResponse;
1919
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
20-
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
2120
import org.apache.hc.core5.http.ClassicHttpRequest;
22-
import org.apache.hc.core5.http.HttpEntity;
21+
import org.apache.hc.core5.http.io.HttpClientResponseHandler;
2322
import org.junit.jupiter.api.Test;
2423
import org.junit.jupiter.api.extension.ExtendWith;
2524
import org.mockito.ArgumentCaptor;
2625
import org.mockito.InjectMocks;
2726
import org.mockito.Mock;
2827
import org.mockito.junit.jupiter.MockitoExtension;
2928

30-
import java.io.ByteArrayInputStream;
31-
import java.io.InputStream;
32-
3329
import static nl.altindag.client.ClientType.APACHE5_HTTP_CLIENT;
3430
import static nl.altindag.client.Constants.HEADER_KEY_CLIENT_TYPE;
3531
import static nl.altindag.client.TestConstants.GET_METHOD;
3632
import static nl.altindag.client.TestConstants.HTTP_URL;
3733
import static org.assertj.core.api.Assertions.assertThat;
3834
import static org.mockito.ArgumentMatchers.any;
39-
import static org.mockito.Mockito.mock;
4035
import static org.mockito.Mockito.times;
4136
import static org.mockito.Mockito.verify;
4237
import static org.mockito.Mockito.when;
@@ -51,25 +46,16 @@ class Apache5HttpClientServiceShould {
5146

5247
@Test
5348
void executeRequest() throws Exception {
54-
CloseableHttpResponse response = mock(CloseableHttpResponse.class);
55-
HttpEntity entity = mock(HttpEntity.class);
56-
InputStream stream = new ByteArrayInputStream("Hello".getBytes());
57-
58-
when(entity.getContent()).thenReturn(stream);
59-
when(response.getEntity()).thenReturn(entity);
60-
when(response.getCode()).thenReturn(200);
61-
62-
when(httpClient.execute(any(ClassicHttpRequest.class))).thenReturn(response);
49+
ClientResponse mockClientResponse = new ClientResponse("Hello", 200);
50+
when(httpClient.execute(any(ClassicHttpRequest.class), any(HttpClientResponseHandler.class))).thenReturn(mockClientResponse);
6351

6452
ArgumentCaptor<ClassicHttpRequest> requestArgumentCaptor = ArgumentCaptor.forClass(ClassicHttpRequest.class);
6553
ClientResponse clientResponse = victim.executeRequest(HTTP_URL);
6654

67-
stream.close();
68-
6955
assertThat(clientResponse.getStatusCode()).isEqualTo(200);
7056
assertThat(clientResponse.getResponseBody()).isEqualTo("Hello");
7157

72-
verify(httpClient, times(1)).execute(requestArgumentCaptor.capture());
58+
verify(httpClient, times(1)).execute(requestArgumentCaptor.capture(), any(HttpClientResponseHandler.class));
7359
assertThat(requestArgumentCaptor.getValue().getUri()).hasToString(HTTP_URL);
7460
assertThat(requestArgumentCaptor.getValue().getMethod()).isEqualTo(GET_METHOD);
7561
assertThat(requestArgumentCaptor.getValue().getHeaders()).hasSize(1);

0 commit comments

Comments
 (0)