1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package org.apache.hc.client5.http.fluent;
29
30 import java.lang.reflect.Method;
31 import java.net.URI;
32 import java.util.stream.Stream;
33
34 import org.apache.hc.core5.http.ClassicHttpRequest;
35 import org.junit.jupiter.api.Assertions;
36 import org.junit.jupiter.params.ParameterizedTest;
37 import org.junit.jupiter.params.provider.Arguments;
38 import org.junit.jupiter.params.provider.MethodSource;
39
40 class TestRequest {
41
42 private static final String URI_STRING_FIXTURE = "http://localhost";
43 private static final URI URI_FIXTURE = URI.create(URI_STRING_FIXTURE);
44
45 static Stream<Arguments> data() {
46 return Stream.of(
47 Arguments.of("delete", "DELETE"),
48 Arguments.of("get", "GET"),
49 Arguments.of("head", "HEAD"),
50 Arguments.of("options", "OPTIONS"),
51 Arguments.of("patch", "PATCH"),
52 Arguments.of("post", "POST"),
53 Arguments.of("put", "PUT"),
54 Arguments.of("trace", "TRACE")
55 );
56 }
57
58 @ParameterizedTest(name = "{index}: {0} => {1}")
59 @MethodSource("data")
60 void testCreateFromString(final String methodName, final String expectedMethod) throws Exception {
61 final Method method = Request.class.getMethod(methodName, String.class);
62 final Request request = (Request) method.invoke(null, URI_STRING_FIXTURE);
63 final ClassicHttpRequest classicHttpRequest = request.getRequest();
64 Assertions.assertEquals(expectedMethod, classicHttpRequest.getMethod());
65 }
66
67 @ParameterizedTest(name = "{index}: {0} => {1}")
68 @MethodSource("data")
69 void testCreateFromURI(final String methodName, final String expectedMethod) throws Exception {
70 final Method method = Request.class.getMethod(methodName, URI.class);
71 final Request request = (Request) method.invoke(null, URI_FIXTURE);
72 final ClassicHttpRequest classicHttpRequest = request.getRequest();
73 Assertions.assertEquals(expectedMethod, classicHttpRequest.getMethod());
74 }
75
76 }