|
@@ -56,22 +56,42 @@ public class DefaultSavedRequestMixinTests extends AbstractMixinTests {
|
|
|
// @formatter:on
|
|
|
// @formatter:off
|
|
|
private static final String REQUEST_JSON = "{" +
|
|
|
- "\"@class\": \"org.springframework.security.web.savedrequest.DefaultSavedRequest\", "
|
|
|
- + "\"cookies\": " + COOKIES_JSON + ","
|
|
|
- + "\"locales\": [\"java.util.ArrayList\", [\"en\"]], "
|
|
|
- + "\"headers\": {\"@class\": \"java.util.TreeMap\", \"x-auth-token\": [\"java.util.ArrayList\", [\"12\"]]}, "
|
|
|
- + "\"parameters\": {\"@class\": \"java.util.TreeMap\"},"
|
|
|
- + "\"contextPath\": \"\", "
|
|
|
- + "\"method\": \"\", "
|
|
|
- + "\"pathInfo\": null, "
|
|
|
- + "\"queryString\": null, "
|
|
|
- + "\"requestURI\": \"\", "
|
|
|
- + "\"requestURL\": \"http://localhost\", "
|
|
|
- + "\"scheme\": \"http\", "
|
|
|
- + "\"serverName\": \"localhost\", "
|
|
|
- + "\"servletPath\": \"\", "
|
|
|
- + "\"serverPort\": 80"
|
|
|
- + "}";
|
|
|
+ "\"@class\": \"org.springframework.security.web.savedrequest.DefaultSavedRequest\", "
|
|
|
+ + "\"cookies\": " + COOKIES_JSON + ","
|
|
|
+ + "\"locales\": [\"java.util.ArrayList\", [\"en\"]], "
|
|
|
+ + "\"headers\": {\"@class\": \"java.util.TreeMap\", \"x-auth-token\": [\"java.util.ArrayList\", [\"12\"]]}, "
|
|
|
+ + "\"parameters\": {\"@class\": \"java.util.TreeMap\"},"
|
|
|
+ + "\"contextPath\": \"\", "
|
|
|
+ + "\"method\": \"\", "
|
|
|
+ + "\"pathInfo\": null, "
|
|
|
+ + "\"queryString\": null, "
|
|
|
+ + "\"requestURI\": \"\", "
|
|
|
+ + "\"requestURL\": \"http://localhost\", "
|
|
|
+ + "\"scheme\": \"http\", "
|
|
|
+ + "\"serverName\": \"localhost\", "
|
|
|
+ + "\"servletPath\": \"\", "
|
|
|
+ + "\"serverPort\": 80"
|
|
|
+ + "}";
|
|
|
+ // @formatter:on
|
|
|
+ // @formatter:off
|
|
|
+ private static final String REQUEST_WITH_MATCHING_REQUEST_PARAM_NAME_JSON = "{" +
|
|
|
+ "\"@class\": \"org.springframework.security.web.savedrequest.DefaultSavedRequest\", "
|
|
|
+ + "\"cookies\": " + COOKIES_JSON + ","
|
|
|
+ + "\"locales\": [\"java.util.ArrayList\", [\"en\"]], "
|
|
|
+ + "\"headers\": {\"@class\": \"java.util.TreeMap\", \"x-auth-token\": [\"java.util.ArrayList\", [\"12\"]]}, "
|
|
|
+ + "\"parameters\": {\"@class\": \"java.util.TreeMap\"},"
|
|
|
+ + "\"contextPath\": \"\", "
|
|
|
+ + "\"method\": \"\", "
|
|
|
+ + "\"pathInfo\": null, "
|
|
|
+ + "\"queryString\": null, "
|
|
|
+ + "\"requestURI\": \"\", "
|
|
|
+ + "\"requestURL\": \"http://localhost\", "
|
|
|
+ + "\"scheme\": \"http\", "
|
|
|
+ + "\"serverName\": \"localhost\", "
|
|
|
+ + "\"servletPath\": \"\", "
|
|
|
+ + "\"serverPort\": 80, "
|
|
|
+ + "\"matchingRequestParameterName\": \"success\""
|
|
|
+ + "}";
|
|
|
// @formatter:on
|
|
|
@Test
|
|
|
public void matchRequestBuildWithConstructorAndBuilder() {
|
|
@@ -126,4 +146,17 @@ public class DefaultSavedRequestMixinTests extends AbstractMixinTests {
|
|
|
assertThat(request.getHeaderValues("x-auth-token")).hasSize(1).contains("12");
|
|
|
}
|
|
|
|
|
|
+ @Test
|
|
|
+ public void deserializeWhenMatchingRequestParameterNameThenRedirectUrlContainsParam() throws IOException {
|
|
|
+ DefaultSavedRequest request = (DefaultSavedRequest) this.mapper
|
|
|
+ .readValue(REQUEST_WITH_MATCHING_REQUEST_PARAM_NAME_JSON, Object.class);
|
|
|
+ assertThat(request.getRedirectUrl()).isEqualTo("http://localhost?success");
|
|
|
+ }
|
|
|
+
|
|
|
+ @Test
|
|
|
+ public void deserializeWhenNullMatchingRequestParameterNameThenRedirectUrlDoesNotContainParam() throws IOException {
|
|
|
+ DefaultSavedRequest request = (DefaultSavedRequest) this.mapper.readValue(REQUEST_JSON, Object.class);
|
|
|
+ assertThat(request.getRedirectUrl()).isEqualTo("http://localhost");
|
|
|
+ }
|
|
|
+
|
|
|
}
|