Polish + minor refactoring of ResourceUrlProvider

This commit is contained in:
Rossen Stoyanchev
2017-07-19 23:03:37 +02:00
parent 118d1470fd
commit 378c72e9b6
4 changed files with 60 additions and 103 deletions

View File

@@ -32,7 +32,6 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.http.server.reactive.PathContainer;
import org.springframework.mock.http.server.reactive.test.MockServerHttpRequest;
import org.springframework.mock.web.test.MockServletContext;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
@@ -41,7 +40,6 @@ import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.util.pattern.PathPattern;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertThat;
@@ -74,9 +72,10 @@ public class ResourceUrlProviderTests {
@Test
public void getStaticResourceUrl() {
PathContainer path = PathContainer.parsePath("/resources/foo.css");
String url = this.urlProvider.getForLookupPath(path).block(Duration.ofSeconds(5));
assertEquals("/resources/foo.css", url);
ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
String uriString = "/resources/foo.css";
String actual = this.urlProvider.getForUriString(uriString, exchange).block(Duration.ofSeconds(5));
assertEquals(uriString, actual);
}
@Test // SPR-13374
@@ -84,11 +83,11 @@ public class ResourceUrlProviderTests {
ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
String url = "/resources/foo.css?foo=bar&url=http://example.org";
String resolvedUrl = this.urlProvider.getForRequestUrl(exchange, url).block(Duration.ofSeconds(5));
String resolvedUrl = this.urlProvider.getForUriString(url, exchange).block(Duration.ofSeconds(5));
assertEquals(url, resolvedUrl);
url = "/resources/foo.css#hash";
resolvedUrl = this.urlProvider.getForRequestUrl(exchange, url).block(Duration.ofSeconds(5));
resolvedUrl = this.urlProvider.getForUriString(url, exchange).block(Duration.ofSeconds(5));
assertEquals(url, resolvedUrl);
}
@@ -104,8 +103,9 @@ public class ResourceUrlProviderTests {
resolvers.add(new PathResourceResolver());
this.handler.setResourceResolvers(resolvers);
PathContainer path = PathContainer.parsePath("/resources/foo.css");
String url = this.urlProvider.getForLookupPath(path).block(Duration.ofSeconds(5));
ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
String path = "/resources/foo.css";
String url = this.urlProvider.getForUriString(path, exchange).block(Duration.ofSeconds(5));
assertEquals("/resources/foo-e36d2e05253c6c7085a91522ce43a0b4.css", url);
}
@@ -126,8 +126,9 @@ public class ResourceUrlProviderTests {
this.handlerMap.put("/resources/*.css", otherHandler);
this.urlProvider.registerHandlers(this.handlerMap);
PathContainer path = PathContainer.parsePath("/resources/foo.css");
String url = this.urlProvider.getForLookupPath(path).block(Duration.ofSeconds(5));
ServerWebExchange exchange = MockServerHttpRequest.get("/").toExchange();
String path = "/resources/foo.css";
String url = this.urlProvider.getForUriString(path, exchange).block(Duration.ofSeconds(5));
assertEquals("/resources/foo-e36d2e05253c6c7085a91522ce43a0b4.css", url);
}
@@ -140,7 +141,6 @@ public class ResourceUrlProviderTests {
ResourceUrlProvider urlProviderBean = context.getBean(ResourceUrlProvider.class);
assertThat(urlProviderBean.getHandlerMap(), Matchers.hasKey(pattern("/resources/**")));
assertFalse(urlProviderBean.isAutodetect());
}