Relocate MimeMapping Tomcat comparison test

See gh-32101
This commit is contained in:
Phillip Webb 2022-08-23 18:05:39 -07:00
parent dd98b88732
commit 6e1b28e6a2
2 changed files with 14 additions and 17 deletions

View File

@ -16,12 +16,15 @@
package org.springframework.boot.web.server;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Pattern;
import org.apache.catalina.startup.Tomcat;
import org.junit.jupiter.api.Test;
import org.springframework.aot.hint.RuntimeHints;
@ -29,6 +32,8 @@ import org.springframework.aot.hint.predicate.RuntimeHintsPredicates;
import org.springframework.boot.web.server.MimeMappings.DefaultMimeMappings;
import org.springframework.boot.web.server.MimeMappings.Mapping;
import org.springframework.boot.web.server.MimeMappings.MimeMappingsRuntimeHints;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.test.util.ReflectionTestUtils;
import static org.assertj.core.api.Assertions.assertThat;
@ -210,6 +215,15 @@ class MimeMappingsTests {
assertThat(lazyCopy.get("json")).isEqualTo("other/json");
}
@Test
void mimeMappingsMatchesTomcatDefaults() throws IOException {
Properties ourDefaultMimeMappings = PropertiesLoaderUtils
.loadProperties(new ClassPathResource("mime-mappings.properties", getClass()));
Properties tomcatDefaultMimeMappings = PropertiesLoaderUtils
.loadProperties(new ClassPathResource("MimeTypeMappings.properties", Tomcat.class));
assertThat(ourDefaultMimeMappings).isEqualTo(tomcatDefaultMimeMappings);
}
@Test
void shouldRegisterHints() {
RuntimeHints runtimeHints = new RuntimeHints();

View File

@ -45,7 +45,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Properties;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.Callable;
@ -78,7 +77,6 @@ import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpSession;
import org.apache.catalina.startup.Tomcat;
import org.apache.catalina.webresources.TomcatURLStreamHandlerFactory;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
@ -136,7 +134,6 @@ import org.springframework.boot.web.servlet.server.Session.SessionTrackingMode;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.client.ClientHttpRequest;
@ -961,20 +958,6 @@ public abstract class AbstractServletWebServerFactoryTests {
assertThat(configuredMimeMappings.size()).isEqualTo(expectedMimeMappings.size());
}
@Test
void mimeMappingsContainsDefaultsOfTomcat() throws IOException {
AbstractServletWebServerFactory factory = getFactory();
this.webServer = factory.getWebServer();
Map<String, String> configuredMimeMappings = getActualMimeMappings();
// override defaults, see org.apache.catalina.startup.MimeTypeMappings.properties
Properties tomcatDefaultMimeMappings = PropertiesLoaderUtils
.loadProperties(new ClassPathResource("MimeTypeMappings.properties", Tomcat.class));
for (String extension : tomcatDefaultMimeMappings.stringPropertyNames()) {
assertThat(configuredMimeMappings).containsEntry(extension,
tomcatDefaultMimeMappings.getProperty(extension));
}
}
@Test
void rootServletContextResource() {
AbstractServletWebServerFactory factory = getFactory();