diff --git a/initializr-web/src/test/java/io/spring/initializr/web/controller/ProjectMetadataControllerIntegrationTests.java b/initializr-web/src/test/java/io/spring/initializr/web/controller/ProjectMetadataControllerIntegrationTests.java index 9a9df149..965f05fa 100644 --- a/initializr-web/src/test/java/io/spring/initializr/web/controller/ProjectMetadataControllerIntegrationTests.java +++ b/initializr-web/src/test/java/io/spring/initializr/web/controller/ProjectMetadataControllerIntegrationTests.java @@ -95,13 +95,28 @@ public class ProjectMetadataControllerIntegrationTests extends AbstractInitializ } @Test - void metadataWithSeveralAcceptHeader() { - ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2.2+json", - "application/vnd.initializr.v2+json"); + void metadataWithSeveralVersionsAndQualifier() { + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2+json;q=0.9", + "application/vnd.initializr.v2.2+json"); validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); validateCurrentMetadata(response); } + @Test + void metadataWithSeveralVersionAndPreferenceOnInvalidVersion() { + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v5.4+json", + "application/vnd.initializr.v2.2+json;q=0.9"); + validateContentType(response, AbstractInitializrIntegrationTests.CURRENT_METADATA_MEDIA_TYPE); + validateCurrentMetadata(response); + } + + @Test + void metadataWithSeveralVersionAndPreferenceForOldVersion() { + ResponseEntity response = invokeHome(null, "application/vnd.initializr.v2+json", + "application/vnd.initializr.v2.2+json;q=0.9"); + validateMetadata(response, InitializrMetadataVersion.V2.getMediaType(), "2.0.0", JSONCompareMode.STRICT); + } + @Test void metadataWithHalAcceptHeader() { ResponseEntity response = invokeHome(null, "application/hal+json");