18
18
import org .junit .Test ;
19
19
import org .springframework .mock .web .MockHttpServletRequest ;
20
20
import org .springframework .mock .web .MockHttpServletResponse ;
21
- import org .springframework .util .StringUtils ;
22
21
23
22
import javax .servlet .http .Cookie ;
24
23
import javax .servlet .http .HttpServletRequest ;
@@ -39,7 +38,13 @@ public class CookieRequestCacheTests {
39
38
public void saveRequestWhenMatchesThenSavedRequestInACookieOnResponse () {
40
39
CookieRequestCache cookieRequestCache = new CookieRequestCache ();
41
40
42
- MockHttpServletRequest request = requestToSave ();
41
+ MockHttpServletRequest request = new MockHttpServletRequest ();
42
+ request .setServerPort (443 );
43
+ request .setSecure (true );
44
+ request .setScheme ("https" );
45
+ request .setServerName ("abc.com" );
46
+ request .setRequestURI ("/destination" );
47
+ request .setQueryString ("param1=a¶m2=b¶m3=1122" );
43
48
MockHttpServletResponse response = new MockHttpServletResponse ();
44
49
45
50
cookieRequestCache .saveRequest (request , response );
@@ -51,10 +56,9 @@ public void saveRequestWhenMatchesThenSavedRequestInACookieOnResponse() {
51
56
assertThat (redirectUrl ).isEqualTo ("https://abc.com/destination?param1=a¶m2=b¶m3=1122" );
52
57
53
58
assertThat (savedCookie .getMaxAge ()).isEqualTo (-1 );
54
- assertThat (savedCookie .getPath ()).isEqualTo (StringUtils . isEmpty ( request . getContextPath ()) ? "/" : request . getContextPath () );
59
+ assertThat (savedCookie .getPath ()).isEqualTo ("/" );
55
60
assertThat (savedCookie .isHttpOnly ()).isTrue ();
56
61
assertThat (savedCookie .getSecure ()).isTrue ();
57
-
58
62
}
59
63
60
64
@ Test
@@ -118,13 +122,18 @@ public void matchingRequestWhenRequestDoesNotContainSavedRequestCookieThenReturn
118
122
HttpServletRequest matchingRequest = cookieRequestCache .getMatchingRequest (new MockHttpServletRequest (), response );
119
123
assertThat (matchingRequest ).isNull ();
120
124
assertThat (response .getCookie (DEFAULT_COOKIE_NAME )).isNull ();
121
-
122
125
}
123
126
124
127
@ Test
125
128
public void matchingRequestWhenRequestContainsSavedRequestCookieThenSetsAnExpiredCookieInResponse () {
126
129
CookieRequestCache cookieRequestCache = new CookieRequestCache ();
127
- MockHttpServletRequest request = requestToSave ();
130
+ MockHttpServletRequest request = new MockHttpServletRequest ();
131
+ request .setServerPort (443 );
132
+ request .setSecure (true );
133
+ request .setScheme ("https" );
134
+ request .setServerName ("abc.com" );
135
+ request .setRequestURI ("/destination" );
136
+ request .setQueryString ("param1=a¶m2=b¶m3=1122" );
128
137
129
138
String redirectUrl = "https://abc.com/destination?param1=a¶m2=b¶m3=1122" ;
130
139
request .setCookies (new Cookie (DEFAULT_COOKIE_NAME , encodeCookie (redirectUrl )));
@@ -138,9 +147,14 @@ public void matchingRequestWhenRequestContainsSavedRequestCookieThenSetsAnExpire
138
147
}
139
148
140
149
@ Test
141
- public void notMatchingRequestWhenRequestNotContainsSavedRequestCookie () {
150
+ public void requestWhenDoesNotMatchSavedRequestThenDoesNotClearCookie () {
142
151
CookieRequestCache cookieRequestCache = new CookieRequestCache ();
143
- MockHttpServletRequest request = requestToSave ();
152
+ MockHttpServletRequest request = new MockHttpServletRequest ();
153
+ request .setServerPort (443 );
154
+ request .setSecure (true );
155
+ request .setScheme ("https" );
156
+ request .setServerName ("abc.com" );
157
+ request .setRequestURI ("/destination" );
144
158
145
159
String redirectUrl = "https://abc.com/api" ;
146
160
request .setCookies (new Cookie (DEFAULT_COOKIE_NAME , encodeCookie (redirectUrl )));
@@ -150,7 +164,6 @@ public void notMatchingRequestWhenRequestNotContainsSavedRequestCookie() {
150
164
assertThat (matchingRequest ).isNull ();
151
165
Cookie expiredCookie = response .getCookie (DEFAULT_COOKIE_NAME );
152
166
assertThat (expiredCookie ).isNull ();
153
-
154
167
}
155
168
156
169
@ Test
@@ -164,17 +177,6 @@ public void removeRequestWhenInvokedThenSetsAnExpiredCookieOnResponse() {
164
177
assertThat (expiredCookie .getMaxAge ()).isZero ();
165
178
}
166
179
167
- private MockHttpServletRequest requestToSave () {
168
- MockHttpServletRequest request = new MockHttpServletRequest ();
169
- request .setServerPort (443 );
170
- request .setSecure (true );
171
- request .setScheme ("https" );
172
- request .setServerName ("abc.com" );
173
- request .setRequestURI ("/destination" );
174
- request .setQueryString ("param1=a¶m2=b¶m3=1122" );
175
- return request ;
176
- }
177
-
178
180
private static String encodeCookie (String cookieValue ) {
179
181
return Base64 .getEncoder ().encodeToString (cookieValue .getBytes ());
180
182
}
0 commit comments