@@ -55,22 +55,42 @@ public class DefaultSavedRequestMixinTests extends AbstractMixinTests {
55
55
// @formatter:on
56
56
// @formatter:off
57
57
private static final String REQUEST_JSON = "{" +
58
- "\" @class\" : \" org.springframework.security.web.savedrequest.DefaultSavedRequest\" , "
59
- + "\" cookies\" : " + COOKIES_JSON + ","
60
- + "\" locales\" : [\" java.util.ArrayList\" , [\" en\" ]], "
61
- + "\" headers\" : {\" @class\" : \" java.util.TreeMap\" , \" x-auth-token\" : [\" java.util.ArrayList\" , [\" 12\" ]]}, "
62
- + "\" parameters\" : {\" @class\" : \" java.util.TreeMap\" },"
63
- + "\" contextPath\" : \" \" , "
64
- + "\" method\" : \" \" , "
65
- + "\" pathInfo\" : null, "
66
- + "\" queryString\" : null, "
67
- + "\" requestURI\" : \" \" , "
68
- + "\" requestURL\" : \" http://localhost\" , "
69
- + "\" scheme\" : \" http\" , "
70
- + "\" serverName\" : \" localhost\" , "
71
- + "\" servletPath\" : \" \" , "
72
- + "\" serverPort\" : 80"
73
- + "}" ;
58
+ "\" @class\" : \" org.springframework.security.web.savedrequest.DefaultSavedRequest\" , "
59
+ + "\" cookies\" : " + COOKIES_JSON + ","
60
+ + "\" locales\" : [\" java.util.ArrayList\" , [\" en\" ]], "
61
+ + "\" headers\" : {\" @class\" : \" java.util.TreeMap\" , \" x-auth-token\" : [\" java.util.ArrayList\" , [\" 12\" ]]}, "
62
+ + "\" parameters\" : {\" @class\" : \" java.util.TreeMap\" },"
63
+ + "\" contextPath\" : \" \" , "
64
+ + "\" method\" : \" \" , "
65
+ + "\" pathInfo\" : null, "
66
+ + "\" queryString\" : null, "
67
+ + "\" requestURI\" : \" \" , "
68
+ + "\" requestURL\" : \" http://localhost\" , "
69
+ + "\" scheme\" : \" http\" , "
70
+ + "\" serverName\" : \" localhost\" , "
71
+ + "\" servletPath\" : \" \" , "
72
+ + "\" serverPort\" : 80"
73
+ + "}" ;
74
+ // @formatter:on
75
+ // @formatter:off
76
+ private static final String REQUEST_WITH_MATCHING_REQUEST_PARAM_NAME_JSON = "{" +
77
+ "\" @class\" : \" org.springframework.security.web.savedrequest.DefaultSavedRequest\" , "
78
+ + "\" cookies\" : " + COOKIES_JSON + ","
79
+ + "\" locales\" : [\" java.util.ArrayList\" , [\" en\" ]], "
80
+ + "\" headers\" : {\" @class\" : \" java.util.TreeMap\" , \" x-auth-token\" : [\" java.util.ArrayList\" , [\" 12\" ]]}, "
81
+ + "\" parameters\" : {\" @class\" : \" java.util.TreeMap\" },"
82
+ + "\" contextPath\" : \" \" , "
83
+ + "\" method\" : \" \" , "
84
+ + "\" pathInfo\" : null, "
85
+ + "\" queryString\" : null, "
86
+ + "\" requestURI\" : \" \" , "
87
+ + "\" requestURL\" : \" http://localhost\" , "
88
+ + "\" scheme\" : \" http\" , "
89
+ + "\" serverName\" : \" localhost\" , "
90
+ + "\" servletPath\" : \" \" , "
91
+ + "\" serverPort\" : 80, "
92
+ + "\" matchingRequestParameterName\" : \" success\" "
93
+ + "}" ;
74
94
// @formatter:on
75
95
@ Test
76
96
public void matchRequestBuildWithConstructorAndBuilder () {
@@ -125,4 +145,17 @@ public void deserializeDefaultSavedRequest() throws IOException {
125
145
assertThat (request .getHeaderValues ("x-auth-token" )).hasSize (1 ).contains ("12" );
126
146
}
127
147
148
+ @ Test
149
+ public void deserializeWhenMatchingRequestParameterNameThenRedirectUrlContainsParam () throws IOException {
150
+ DefaultSavedRequest request = (DefaultSavedRequest ) this .mapper
151
+ .readValue (REQUEST_WITH_MATCHING_REQUEST_PARAM_NAME_JSON , Object .class );
152
+ assertThat (request .getRedirectUrl ()).isEqualTo ("http://localhost?success" );
153
+ }
154
+
155
+ @ Test
156
+ public void deserializeWhenNullMatchingRequestParameterNameThenRedirectUrlDoesNotContainParam () throws IOException {
157
+ DefaultSavedRequest request = (DefaultSavedRequest ) this .mapper .readValue (REQUEST_JSON , Object .class );
158
+ assertThat (request .getRedirectUrl ()).isEqualTo ("http://localhost" );
159
+ }
160
+
128
161
}
0 commit comments