|
2 | 2 |
|
3 | 3 | import static org.junit.Assert.assertEquals;
|
4 | 4 |
|
5 |
| -import java.io.IOException; |
6 |
| -import java.lang.reflect.InvocationTargetException; |
7 |
| -import java.lang.reflect.Method; |
8 |
| -import java.net.URISyntaxException; |
9 |
| - |
10 |
| -import org.apache.http.client.ClientProtocolException; |
| 5 | +import org.apache.http.client.methods.HttpRequestBase; |
11 | 6 | import org.apache.http.client.utils.URIBuilder;
|
12 | 7 | import org.junit.Test;
|
| 8 | +import org.powermock.reflect.Whitebox; |
13 | 9 |
|
14 | 10 | import com.ericsson.eiffelcommons.utils.HttpRequest;
|
15 | 11 | import com.ericsson.eiffelcommons.utils.HttpRequest.HttpMethod;
|
16 | 12 |
|
17 | 13 | public class HttpRequestTest {
|
| 14 | + private static final String EXPECTED_URI = "http://something.com/testing/test/"; |
| 15 | + private static final String EXPECTED_HEADER = "Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ="; |
| 16 | + |
18 | 17 | @Test
|
19 |
| - public void testBuildingOfURI() |
20 |
| - throws NoSuchFieldException, SecurityException, IllegalAccessException, |
21 |
| - IllegalArgumentException, InvocationTargetException, NoSuchMethodException, |
22 |
| - URISyntaxException, ClientProtocolException, IOException { |
23 |
| - String expectedURI = "http://something.com/testing/test/"; |
24 |
| - String expectedAuthParam = "Authorization=Basic dXNlcm5hbWU6cGFzc3dvcmQ="; |
| 18 | + public void testBuildingOfURI() throws Exception { |
| 19 | + |
25 | 20 | HttpRequest request = new HttpRequest(HttpMethod.POST);
|
26 |
| - Method createURIBuilder = HttpRequest.class.getDeclaredMethod("createURIBuilder"); |
27 |
| - Method addParametersToURIBuilder = HttpRequest.class.getDeclaredMethod( |
28 |
| - "addParametersToURIBuilder", URIBuilder.class); |
29 |
| - createURIBuilder.setAccessible(true); |
30 |
| - addParametersToURIBuilder.setAccessible(true); |
31 | 21 |
|
32 | 22 | request.setBaseUrl("http://something.com");
|
33 | 23 | request.setEndpoint("/testing/test/");
|
34 |
| - URIBuilder builder = (URIBuilder) createURIBuilder.invoke(request); |
35 |
| - assertEquals(expectedURI, builder.toString()); |
| 24 | + URIBuilder builder = (URIBuilder) Whitebox.invokeMethod(request, "createURIBuilder"); |
| 25 | + assertEquals(EXPECTED_URI, builder.toString()); |
36 | 26 |
|
37 | 27 | request.setBaseUrl("http://something.com/");
|
38 | 28 | request.setEndpoint("/testing/test/");
|
39 |
| - builder = (URIBuilder) createURIBuilder.invoke(request); |
40 |
| - assertEquals(expectedURI, builder.toString()); |
| 29 | + builder = (URIBuilder) Whitebox.invokeMethod(request, "createURIBuilder"); |
| 30 | + assertEquals(EXPECTED_URI, builder.toString()); |
41 | 31 |
|
42 | 32 | request.setBaseUrl("http://something.com/");
|
43 | 33 | request.setEndpoint("testing/test/");
|
44 |
| - builder = (URIBuilder) createURIBuilder.invoke(request); |
45 |
| - assertEquals(expectedURI, builder.toString()); |
| 34 | + builder = (URIBuilder) Whitebox.invokeMethod(request, "createURIBuilder"); |
| 35 | + assertEquals(EXPECTED_URI, builder.toString()); |
46 | 36 |
|
47 | 37 | request.setBaseUrl("http://something.com");
|
48 | 38 | request.setEndpoint("testing/test/");
|
49 |
| - builder = (URIBuilder) createURIBuilder.invoke(request); |
50 |
| - assertEquals(expectedURI, builder.toString()); |
| 39 | + builder = (URIBuilder) Whitebox.invokeMethod(request, "createURIBuilder"); |
| 40 | + assertEquals(EXPECTED_URI, builder.toString()); |
51 | 41 |
|
52 | 42 | request.setBasicAuth("username", "password");
|
53 |
| - builder = (URIBuilder) createURIBuilder.invoke(request); |
54 |
| - builder = (URIBuilder) addParametersToURIBuilder.invoke(request, builder); |
55 |
| - String actualAuthParam = builder.getQueryParams().get(0).toString(); |
56 |
| - assertEquals(expectedAuthParam, actualAuthParam); |
| 43 | + HttpRequestBase client = Whitebox.getInternalState(request, "request"); |
| 44 | + String actualAuthHeader = client.getAllHeaders()[0].toString(); |
| 45 | + assertEquals(EXPECTED_HEADER, actualAuthHeader); |
57 | 46 | }
|
58 | 47 | }
|
0 commit comments