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
29
30 package com.jcabi.http.wire;
31
32 import com.jcabi.http.mock.MkAnswer;
33 import com.jcabi.http.mock.MkContainer;
34 import com.jcabi.http.mock.MkGrizzlyContainer;
35 import com.jcabi.http.request.JdkRequest;
36 import com.jcabi.http.response.RestResponse;
37 import jakarta.ws.rs.core.HttpHeaders;
38 import java.net.HttpURLConnection;
39 import org.hamcrest.MatcherAssert;
40 import org.hamcrest.Matchers;
41 import org.junit.jupiter.api.Test;
42
43
44
45
46
47 final class UserAgentWireTest {
48
49 @Test
50 void addsDefaultUserAgentHeader() throws Exception {
51 final MkContainer container = new MkGrizzlyContainer().next(
52 new MkAnswer.Simple("")
53 ).start();
54 new JdkRequest(container.home())
55 .through(UserAgentWire.class)
56 .fetch()
57 .as(RestResponse.class)
58 .assertStatus(HttpURLConnection.HTTP_OK);
59 container.stop();
60 MatcherAssert.assertThat(
61 "must add default User-Agent HTTP header",
62 container.take().headers(),
63 Matchers.hasEntry(
64 Matchers.is(HttpHeaders.USER_AGENT),
65 Matchers.contains(
66 Matchers.startsWith("jcabi-")
67 )
68 )
69 );
70 }
71
72 @Test
73 void addsCustomUserAgentHeader() throws Exception {
74 final MkContainer container = new MkGrizzlyContainer().next(
75 new MkAnswer.Simple("")
76 ).start();
77 final String agent = "Mozilla/5.0";
78 new JdkRequest(container.home())
79 .through(UserAgentWire.class, agent)
80 .fetch()
81 .as(RestResponse.class)
82 .assertStatus(HttpURLConnection.HTTP_OK);
83 container.stop();
84 MatcherAssert.assertThat(
85 "must add custom User-Agent HTTP header",
86 container.take().headers(),
87 Matchers.hasEntry(
88 Matchers.is(HttpHeaders.USER_AGENT),
89 Matchers.contains(agent)
90 )
91 );
92 }
93
94 }