From 1490d27d7581e3741a10252d9ed0bdb81a8dbf34 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Tue, 12 Oct 2021 15:10:19 +0200 Subject: [PATCH] Decouple urlResourceWithCharset test from existence of tmp directory See gh-25738 --- .../ResourceHandlerRegistryTests.java | 30 +++++++++---------- .../ResourceHttpRequestHandlerTests.java | 8 ++--- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java index cce273a2493..fccde83979d 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/ResourceHandlerRegistryTests.java @@ -27,7 +27,6 @@ import org.mockito.Mockito; import org.springframework.cache.concurrent.ConcurrentMapCache; import org.springframework.core.io.Resource; -import org.springframework.core.io.UrlResource; import org.springframework.http.CacheControl; import org.springframework.web.accept.ContentNegotiationManager; import org.springframework.web.context.support.GenericWebApplicationContext; @@ -64,7 +63,7 @@ public class ResourceHandlerRegistryTests { @BeforeEach - public void setUp() { + public void setup() { GenericWebApplicationContext appContext = new GenericWebApplicationContext(); appContext.refresh(); @@ -76,8 +75,14 @@ public class ResourceHandlerRegistryTests { this.response = new MockHttpServletResponse(); } + private ResourceHttpRequestHandler getHandler(String pathPattern) { + SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) this.registry.getHandlerMapping(); + return (ResourceHttpRequestHandler) hm.getUrlMap().get(pathPattern); + } + + @Test - public void noResourceHandlers() throws Exception { + public void noResourceHandlers() { this.registry = new ResourceHandlerRegistry(new GenericWebApplicationContext(), new MockServletContext()); assertThat((Object) this.registry.getHandlerMapping()).isNull(); } @@ -126,7 +131,7 @@ public class ResourceHandlerRegistryTests { } @Test - public void resourceChain() throws Exception { + public void resourceChain() { ResourceResolver mockResolver = Mockito.mock(ResourceResolver.class); ResourceTransformer mockTransformer = Mockito.mock(ResourceTransformer.class); this.registration.resourceChain(true).addResolver(mockResolver).addTransformer(mockTransformer); @@ -148,7 +153,7 @@ public class ResourceHandlerRegistryTests { } @Test - public void resourceChainWithoutCaching() throws Exception { + public void resourceChainWithoutCaching() { this.registration.resourceChain(false); ResourceHttpRequestHandler handler = getHandler("/resources/**"); @@ -163,7 +168,7 @@ public class ResourceHandlerRegistryTests { @Test @SuppressWarnings("deprecation") - public void resourceChainWithVersionResolver() throws Exception { + public void resourceChainWithVersionResolver() { VersionResourceResolver versionResolver = new VersionResourceResolver() .addFixedVersionStrategy("fixed", "/**/*.js") .addContentVersionStrategy("/**"); @@ -188,7 +193,7 @@ public class ResourceHandlerRegistryTests { @Test @SuppressWarnings("deprecation") - public void resourceChainWithOverrides() throws Exception { + public void resourceChainWithOverrides() { CachingResourceResolver cachingResolver = Mockito.mock(CachingResourceResolver.class); VersionResourceResolver versionResolver = Mockito.mock(VersionResourceResolver.class); WebJarsResourceResolver webjarsResolver = Mockito.mock(WebJarsResourceResolver.class); @@ -224,13 +229,11 @@ public class ResourceHandlerRegistryTests { } @Test - public void urlResourceWithCharset() throws Exception { + public void urlResourceWithCharset() { this.registration.addResourceLocations("[charset=ISO-8859-1]file:///tmp"); this.registration.resourceChain(true); ResourceHttpRequestHandler handler = getHandler("/resources/**"); - UrlResource resource = (UrlResource) handler.getLocations().get(1); - assertThat(resource.getURL().toString()).isEqualTo("file:/tmp"); assertThat(handler.getUrlPathHelper()).isNotNull(); List resolvers = handler.getResourceResolvers(); @@ -241,15 +244,10 @@ public class ResourceHandlerRegistryTests { } @Test - void lastModifiedDisabled() { + public void lastModifiedDisabled() { this.registration.setUseLastModified(false); ResourceHttpRequestHandler handler = getHandler("/resources/**"); assertThat(handler.isUseLastModified()).isFalse(); } - private ResourceHttpRequestHandler getHandler(String pathPattern) { - SimpleUrlHandlerMapping hm = (SimpleUrlHandlerMapping) this.registry.getHandlerMapping(); - return (ResourceHttpRequestHandler) hm.getUrlMap().get(pathPattern); - } - } diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandlerTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandlerTests.java index 2d3ce439569..9aefd7f9d07 100644 --- a/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandlerTests.java +++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/resource/ResourceHttpRequestHandlerTests.java @@ -290,7 +290,6 @@ public class ResourceHttpRequestHandlerTests { @Test // SPR-14368 public void getResourceWithMediaTypeResolvedThroughServletContext() throws Exception { - MockServletContext servletContext = new MockServletContext() { @Override public String getMimeType(String filePath) { @@ -312,7 +311,7 @@ public class ResourceHttpRequestHandlerTests { assertThat(this.response.getContentAsString()).isEqualTo("h1 { color:red; }"); } - @Test // gh-27538 + @Test // gh-27538 public void filterNonExistingLocations() throws Exception { List inputLocations = Arrays.asList( new ClassPathResource("test/", getClass()), @@ -332,7 +331,6 @@ public class ResourceHttpRequestHandlerTests { @Test public void testInvalidPath() throws Exception { - // Use mock ResourceResolver: i.e. we're only testing upfront validations... Resource resource = mock(Resource.class); @@ -678,7 +676,7 @@ public class ResourceHttpRequestHandlerTests { assertThat(ranges[11]).isEqualTo("t."); } - @Test // gh-25976 + @Test // gh-25976 public void partialContentByteRangeWithEncodedResource(GzipSupport.GzippedFiles gzippedFiles) throws Exception { String path = "js/foo.js"; gzippedFiles.create(path); @@ -707,7 +705,7 @@ public class ResourceHttpRequestHandlerTests { assertThat(this.response.getHeaderValues("Vary")).containsExactly("Accept-Encoding"); } - @Test // gh-25976 + @Test // gh-25976 public void partialContentWithHttpHead() throws Exception { this.request.setMethod("HEAD"); this.request.addHeader("Range", "bytes=0-1");