From 0956c3212eee7e9c627ab13253fb184f1b9bec8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Tue, 20 Jan 2026 14:13:39 +0100 Subject: [PATCH 1/2] Reactivate tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit they were deactivated due to misconfiguration https://github.com/swagger-api/swagger-codegen-generators/commit/62071660e3f7372b9fc7f9c7e8c2df5e7169dbe6 where it was configured to use Junit4 although it is TestNg tests which are used Signed-off-by: Aurélien Pupier --- pom.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index fb1d5310c2..d0b0c115a6 100644 --- a/pom.xml +++ b/pom.xml @@ -85,12 +85,11 @@ org.apache.maven.surefire - surefire-junit4 + surefire-testng ${surefire-version} - none:none -javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit-version}/jmockit-${jmockit-version}.jar -XX:+IgnoreUnrecognizedVMOptions --add-opens=java.base/java.util=ALL-UNNAMED From a46f0b636c48884a45838e0cac304d2d1ee85762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Pupier?= Date: Tue, 20 Jan 2026 15:40:15 +0100 Subject: [PATCH 2/2] Allow mininum and maximum to be < Integer.MIN_VALUE and > Integer.MAX_VALUE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fixes #1370 Signed-off-by: Aurélien Pupier --- .../v3/generators/DefaultCodegenConfig.java | 45 +++++++++++++++---- .../generators/DefaultCodegenConfigTest.java | 17 ++++++- 2 files changed, 53 insertions(+), 9 deletions(-) diff --git a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java index a496894a08..93059b9f3f 100644 --- a/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java +++ b/src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java @@ -1815,12 +1815,23 @@ protected void processPropertySchemaContainerTypes(CodegenProperty codegenProper } private void handleMinMaxValues(Schema propertySchema, CodegenProperty codegenProperty) { - if (propertySchema.getMinimum() != null) { - codegenProperty.minimum = String.valueOf(propertySchema.getMinimum().longValue()); - } - if (propertySchema.getMaximum() != null) { - codegenProperty.maximum = String.valueOf(propertySchema.getMaximum().longValue()); - } + if (propertySchema.getMaximum() != null) { + long maximumLongValue = propertySchema.getMaximum().longValue(); + if (maximumLongValue > Integer.MAX_VALUE || maximumLongValue < Integer.MIN_VALUE) { + codegenProperty.maximum = String.valueOf(propertySchema.getMaximum().longValue()) + "L"; + } else { + codegenProperty.maximum = String.valueOf(propertySchema.getMaximum().longValue()); + } + } + if (propertySchema.getMinimum() != null) { + long minimumLongValue = propertySchema.getMinimum().longValue(); + if (minimumLongValue > Integer.MAX_VALUE || minimumLongValue < Integer.MIN_VALUE) { + codegenProperty.minimum = String.valueOf(propertySchema.getMinimum().longValue()) + "L"; + } else { + codegenProperty.minimum = String.valueOf(propertySchema.getMinimum().longValue()); + } + } + if (propertySchema.getExclusiveMinimum() != null) { codegenProperty.exclusiveMinimum = propertySchema.getExclusiveMinimum(); } @@ -2582,8 +2593,26 @@ public CodegenParameter fromParameter(Parameter parameter, Set imports) // validation // handle maximum, minimum properly for int/long by removing the trailing ".0" if (parameterSchema instanceof IntegerSchema) { - codegenParameter.maximum = parameterSchema.getMaximum() == null ? null : String.valueOf(parameterSchema.getMaximum().longValue()); - codegenParameter.minimum = parameterSchema.getMinimum() == null ? null : String.valueOf(parameterSchema.getMinimum().longValue()); + if (parameterSchema.getMaximum() == null) { + codegenParameter.maximum = null; + } else { + long maximumLongValue = parameterSchema.getMaximum().longValue(); + if (maximumLongValue > Integer.MAX_VALUE || maximumLongValue < Integer.MIN_VALUE) { + codegenParameter.maximum = String.valueOf(parameterSchema.getMaximum().longValue()) + "L"; + } else { + codegenParameter.maximum = String.valueOf(parameterSchema.getMaximum().longValue()); + } + } + if (parameterSchema.getMinimum() == null) { + codegenParameter.minimum = null; + } else { + long minimumLongValue = parameterSchema.getMinimum().longValue(); + if (minimumLongValue > Integer.MAX_VALUE || minimumLongValue < Integer.MIN_VALUE) { + codegenParameter.minimum = String.valueOf(parameterSchema.getMinimum().longValue()) + "L"; + } else { + codegenParameter.minimum = String.valueOf(parameterSchema.getMinimum().longValue()); + } + } } else { codegenParameter.maximum = parameterSchema.getMaximum() == null ? null : String.valueOf(parameterSchema.getMaximum()); codegenParameter.minimum = parameterSchema.getMinimum() == null ? null : String.valueOf(parameterSchema.getMinimum()); diff --git a/src/test/java/io/swagger/codegen/v3/generators/DefaultCodegenConfigTest.java b/src/test/java/io/swagger/codegen/v3/generators/DefaultCodegenConfigTest.java index 0a9fdf4ba0..7ff33affea 100644 --- a/src/test/java/io/swagger/codegen/v3/generators/DefaultCodegenConfigTest.java +++ b/src/test/java/io/swagger/codegen/v3/generators/DefaultCodegenConfigTest.java @@ -91,7 +91,7 @@ public void testPutAdditionalProperties() throws Exception { @Test public void testNumberSchemaMinMax() { - Schema schema = new NumberSchema() + Schema schema = new NumberSchema() .minimum(BigDecimal.valueOf(50)) .maximum(BigDecimal.valueOf(1000)); @@ -101,6 +101,21 @@ public void testNumberSchemaMinMax() { Assert.assertEquals(codegenProperty.minimum, "50"); Assert.assertEquals(codegenProperty.maximum, "1000"); } + + @Test + public void testNumberSchemaMinMaxForLong() { + Schema schema = new NumberSchema() + .minimum(BigDecimal.valueOf(50)) + .maximum(BigDecimal.valueOf(Integer.MAX_VALUE + 1L)); + + schema.setFormat("int64"); + + final DefaultCodegenConfig codegen = new P_DefaultCodegenConfig(); + CodegenProperty codegenProperty = codegen.fromProperty("test", schema); + + Assert.assertEquals(codegenProperty.minimum, "50"); + Assert.assertEquals(codegenProperty.maximum, Integer.MAX_VALUE + 1L + "L"); + } @Test public void testFromOperation_BodyParamsUnique() {