Assert versionRequired and defaultVersion

Closes gh-35387
This commit is contained in:
rstoyanchev
2025-08-28 15:49:37 +03:00
parent a7e3a438c9
commit 11cb062357
8 changed files with 42 additions and 17 deletions
@@ -25,6 +25,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
/**
@@ -93,6 +94,16 @@ public class DefaultApiVersionStrategiesTests {
assertThatThrownBy(() -> validateVersion("1.2", strategy)).isInstanceOf(InvalidApiVersionException.class);
}
@Test
void versionRequiredAndDefaultVersionSet() {
assertThatIllegalArgumentException()
.isThrownBy(() ->
new DefaultApiVersionStrategy(
List.of(request -> request.getParameter("api-version")), new SemanticApiVersionParser(),
true, "1.2", true, version -> true, null))
.withMessage("versionRequired cannot be set to true if a defaultVersion is also configured");
}
private static DefaultApiVersionStrategy apiVersionStrategy() {
return apiVersionStrategy(null, false, null);
}
@@ -107,7 +118,7 @@ public class DefaultApiVersionStrategiesTests {
return new DefaultApiVersionStrategy(
List.of(request -> request.getParameter("api-version")), new SemanticApiVersionParser(),
true, defaultVersion, detectSupportedVersions, supportedVersionPredicate, null);
null, defaultVersion, detectSupportedVersions, supportedVersionPredicate, null);
}
private void validateVersion(@Nullable String version, DefaultApiVersionStrategy strategy) {