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.impl.routing;
29
30 import java.net.URI;
31
32 import org.apache.hc.client5.http.routing.RoutingSupport;
33 import org.apache.hc.core5.http.HttpHost;
34 import org.apache.hc.core5.http.HttpRequest;
35 import org.apache.hc.core5.http.ProtocolException;
36 import org.apache.hc.core5.http.message.BasicHttpRequest;
37 import org.apache.hc.core5.net.URIAuthority;
38 import org.hamcrest.CoreMatchers;
39 import org.junit.Assert;
40 import org.junit.Test;
41
42 public class TestRoutingSupport {
43
44 @Test
45 public void testDetermineHost() throws Exception {
46 final HttpRequest request1 = new BasicHttpRequest("GET", "/");
47 final HttpHost host1 = RoutingSupport.determineHost(request1);
48 Assert.assertThat(host1, CoreMatchers.nullValue());
49
50 final HttpRequest request2 = new BasicHttpRequest("GET", new URI("https://somehost:8443/"));
51 final HttpHost host2 = RoutingSupport.determineHost(request2);
52 Assert.assertThat(host2, CoreMatchers.equalTo(new HttpHost("https", "somehost", 8443)));
53 }
54
55 @Test(expected = ProtocolException.class)
56 public void testDetermineHostMissingScheme() throws Exception {
57 final HttpRequest request1 = new BasicHttpRequest("GET", "/");
58 request1.setAuthority(new URIAuthority("host"));
59 RoutingSupport.determineHost(request1);
60 }
61
62 }