WebSessionServerRequestCache ignores favicon and html

Fixes: gh-5874
This commit is contained in:
Rob Winch
2018-09-19 14:28:05 -05:00
parent 8e4d540bfb
commit e4597b5213
2 changed files with 27 additions and 4 deletions

View File

@@ -17,6 +17,7 @@
package org.springframework.security.web.server.savedrequest;
import org.junit.Test;
import org.springframework.http.MediaType;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.mock.http.server.reactive.MockServerHttpRequest;
import org.springframework.mock.web.server.MockServerWebExchange;
@@ -35,7 +36,7 @@ public class WebSessionServerRequestCacheTests {
@Test
public void saveRequestGetRequestWhenGetThenFound() {
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/secured/"));
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/secured/").accept(MediaType.TEXT_HTML));
this.cache.saveRequest(exchange).block();
URI saved = this.cache.getRedirectUri(exchange).block();
@@ -43,6 +44,16 @@ public class WebSessionServerRequestCacheTests {
assertThat(saved).isEqualTo(exchange.getRequest().getURI());
}
@Test
public void saveRequestGetRequestWhenFaviconThenNotFound() {
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/favicon.png").accept(MediaType.TEXT_HTML));
this.cache.saveRequest(exchange).block();
URI saved = this.cache.getRedirectUri(exchange).block();
assertThat(saved).isNull();
}
@Test
public void saveRequestGetRequestWhenPostThenNotFound() {
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.post("/secured/"));
@@ -64,7 +75,7 @@ public class WebSessionServerRequestCacheTests {
@Test
public void saveRequestRemoveRequestWhenThenFound() {
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/secured/"));
MockServerWebExchange exchange = MockServerWebExchange.from(MockServerHttpRequest.get("/secured/").accept(MediaType.TEXT_HTML));
this.cache.saveRequest(exchange).block();
ServerHttpRequest saved = this.cache.removeMatchingRequest(exchange).block();