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 package org.apache.hc.client5.http.impl.classic;
28
29 import org.apache.hc.client5.http.cookie.CookieIdentityComparator;
30 import org.apache.hc.client5.http.impl.cookie.BasicClientCookie;
31 import org.junit.jupiter.api.Assertions;
32 import org.junit.jupiter.api.Test;
33
34
35
36
37 class TestCookieIdentityComparator {
38
39 @Test
40 void testCookieIdentityComparasionByName() {
41 final CookieIdentityComparator comparator = CookieIdentityComparator.INSTANCE;
42 final BasicClientCookie c1 = new BasicClientCookie("name", "value1");
43 final BasicClientCookie c2 = new BasicClientCookie("name", "value2");
44 Assertions.assertEquals(0, comparator.compare(c1, c2));
45
46 final BasicClientCookie c3 = new BasicClientCookie("name1", "value");
47 final BasicClientCookie c4 = new BasicClientCookie("name2", "value");
48 Assertions.assertNotEquals(0, comparator.compare(c3, c4));
49 }
50
51 @Test
52 void testCookieIdentityComparasionByNameAndDomain() {
53 final CookieIdentityComparator comparator = CookieIdentityComparator.INSTANCE;
54 final BasicClientCookie c1 = new BasicClientCookie("name", "value1");
55 c1.setDomain("www.domain.com");
56 final BasicClientCookie c2 = new BasicClientCookie("name", "value2");
57 c2.setDomain("www.domain.com");
58 Assertions.assertEquals(0, comparator.compare(c1, c2));
59
60 final BasicClientCookie c3 = new BasicClientCookie("name", "value1");
61 c3.setDomain("www.domain.com");
62 final BasicClientCookie c4 = new BasicClientCookie("name", "value2");
63 c4.setDomain("domain.com");
64 Assertions.assertNotEquals(0, comparator.compare(c3, c4));
65 }
66
67 @Test
68 void testCookieIdentityComparasionByNameAndNullDomain() {
69 final CookieIdentityComparator comparator = CookieIdentityComparator.INSTANCE;
70 final BasicClientCookie c1 = new BasicClientCookie("name", "value1");
71 c1.setDomain(null);
72 final BasicClientCookie c2 = new BasicClientCookie("name", "value2");
73 c2.setDomain(null);
74 Assertions.assertEquals(0, comparator.compare(c1, c2));
75
76 final BasicClientCookie c3 = new BasicClientCookie("name", "value1");
77 c3.setDomain("www.domain.com");
78 final BasicClientCookie c4 = new BasicClientCookie("name", "value2");
79 c4.setDomain(null);
80 Assertions.assertNotEquals(0, comparator.compare(c3, c4));
81 }
82
83 @Test
84 void testCookieIdentityComparasionByNameDomainAndPath() {
85 final CookieIdentityComparator comparator = CookieIdentityComparator.INSTANCE;
86 final BasicClientCookie c1 = new BasicClientCookie("name", "value1");
87 c1.setDomain("www.domain.com");
88 c1.setPath("/whatever");
89 final BasicClientCookie c2 = new BasicClientCookie("name", "value2");
90 c2.setDomain("www.domain.com");
91 c2.setPath("/whatever");
92 Assertions.assertEquals(0, comparator.compare(c1, c2));
93
94 final BasicClientCookie c3 = new BasicClientCookie("name", "value1");
95 c3.setDomain("www.domain.com");
96 c3.setPath("/whatever");
97 final BasicClientCookie c4 = new BasicClientCookie("name", "value2");
98 c4.setDomain("domain.com");
99 c4.setPath("/whatever-not");
100 Assertions.assertNotEquals(0, comparator.compare(c3, c4));
101 }
102
103 @Test
104 void testCookieIdentityComparasionByNameDomainAndNullPath() {
105 final CookieIdentityComparator comparator = CookieIdentityComparator.INSTANCE;
106 final BasicClientCookie c1 = new BasicClientCookie("name", "value1");
107 c1.setDomain("www.domain.com");
108 c1.setPath("/");
109 final BasicClientCookie c2 = new BasicClientCookie("name", "value2");
110 c2.setDomain("www.domain.com");
111 c2.setPath(null);
112 Assertions.assertEquals(0, comparator.compare(c1, c2));
113
114 final BasicClientCookie c3 = new BasicClientCookie("name", "value1");
115 c3.setDomain("www.domain.com");
116 c3.setPath("/whatever");
117 final BasicClientCookie c4 = new BasicClientCookie("name", "value2");
118 c4.setDomain("domain.com");
119 c4.setPath(null);
120 Assertions.assertNotEquals(0, comparator.compare(c3, c4));
121 }
122
123 }