You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/12/12 08:29:43 UTC

(camel-quarkus) 20/24: Fix #5559 to add tests for array with type of byte, binary, date, datetime and password

This is an automated email from the ASF dual-hosted git repository.

jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit 36777010d50c888378aca36feec98cf0f730bd3d
Author: Zheng Feng <zh...@gmail.com>
AuthorDate: Tue Dec 5 20:10:34 2023 +0800

    Fix #5559 to add tests for array with type of byte, binary, date, datetime and password
---
 .../component/openapijava/it/OpenApiRoutes.java    | 63 +++++++++++-----------
 .../component/openapijava/it/v3/OpenApiV3Test.java | 29 +++++++++-
 2 files changed, 59 insertions(+), 33 deletions(-)

diff --git a/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java b/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java
index 929098313e..9b93b29959 100644
--- a/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java
+++ b/integration-tests/openapi-java/src/main/java/org/apache/camel/quarkus/component/openapijava/it/OpenApiRoutes.java
@@ -134,7 +134,7 @@ public class OpenApiRoutes extends RouteBuilder {
                 .end()
                 .end();
 
-        if (openApiVersion.equals("3.0.0")) {
+        if (openApiVersion.startsWith("3")) {
             rest()
                     .get("/security/bearer/token")
                     .to("direct:echoMethodPath")
@@ -197,37 +197,36 @@ public class OpenApiRoutes extends RouteBuilder {
                     .arrayType("boolean")
                     .allowableValues("true", "false")
                     .endParam()
-                    // TODO: https://github.com/apache/camel-quarkus/issues/5559
-                    //.param()
-                    //.name("byte_array")
-                    //.dataType("array")
-                    //.arrayType("byte")
-                    //.allowableValues("1", "2", "3")
-                    //.endParam()
-                    //.param()
-                    //.name("binary_array")
-                    //.dataType("array")
-                    //.arrayType("binary")
-                    //.allowableValues("1", "2", "3")
-                    //.endParam()
-                    //.param()
-                    //.name("date_array")
-                    //.dataType("array")
-                    //.arrayType("date")
-                    //.allowableValues("2023 01 01", "2023 02 02", "2023 03 03")
-                    //.endParam()
-                    //.param()
-                    //.name("datetime_array")
-                    //.dataType("array")
-                    //.arrayType("date-time")
-                    //.allowableValues("2023 01 01 11:11:11", "2023 02 02 12:12:12", "2023 03 03 13:13:13")
-                    //.endParam()
-                    //.param()
-                    //.name("password_array")
-                    //.dataType("array")
-                    //.arrayType("password")
-                    //.allowableValues("foo", "bar", "cheese")
-                    //.endParam()
+                    .param()
+                    .name("byte_array")
+                    .dataType("array")
+                    .arrayType("byte")
+                    .allowableValues("1", "2", "3")
+                    .endParam()
+                    .param()
+                    .name("binary_array")
+                    .dataType("array")
+                    .arrayType("binary")
+                    .allowableValues("1", "2", "3")
+                    .endParam()
+                    .param()
+                    .name("date_array")
+                    .dataType("array")
+                    .arrayType("date")
+                    .allowableValues("2023-01-01", "2023-02-02", "2023-03-03")
+                    .endParam()
+                    .param()
+                    .name("datetime_array")
+                    .dataType("array")
+                    .arrayType("date-time")
+                    .allowableValues("2023-01-01T11:11:11+01:00", "2023-02-02T12:12:12+01:00", "2023-03-03T13:13:13+01:00")
+                    .endParam()
+                    .param()
+                    .name("password_array")
+                    .dataType("array")
+                    .arrayType("password")
+                    .allowableValues("foo", "bar", "cheese")
+                    .endParam()
                     .to("direct:echoMethodPath");
 
             rest("/form")
diff --git a/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/v3/OpenApiV3Test.java b/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/v3/OpenApiV3Test.java
index 45371ac58a..1f30341bc3 100644
--- a/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/v3/OpenApiV3Test.java
+++ b/integration-tests/openapi-java/src/test/java/org/apache/camel/quarkus/component/openapijava/it/v3/OpenApiV3Test.java
@@ -186,18 +186,45 @@ public class OpenApiV3Test extends OpenApiTest {
                 .statusCode(200)
                 .body(
                         "paths.'/api/operation/spec/array/params'.get.parameters[0].name", is("string_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[0].schema.type", is("array"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[0].schema.enum", contains("A", "B", "C"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[1].name", is("int_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[1].schema.type", is("array"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[1].schema.enum", contains(1, 2, 3),
                         "paths.'/api/operation/spec/array/params'.get.parameters[2].name", is("integer_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[2].schema.type", is("array"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[2].schema.enum", contains(1, 2, 3),
                         "paths.'/api/operation/spec/array/params'.get.parameters[3].name", is("long_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[3].schema.type", is("array"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[3].schema.enum", contains(1, 2, 3),
                         "paths.'/api/operation/spec/array/params'.get.parameters[4].name", is("float_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[4].schema.type", is("array"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[4].schema.enum", contains(1.0f, 2.0f, 3.0f),
                         "paths.'/api/operation/spec/array/params'.get.parameters[5].name", is("double_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[5].schema.type", is("array"),
                         "paths.'/api/operation/spec/array/params'.get.parameters[5].schema.enum", contains(1.0f, 2.0f, 3.0f),
                         "paths.'/api/operation/spec/array/params'.get.parameters[6].name", is("boolean_array"),
-                        "paths.'/api/operation/spec/array/params'.get.parameters[6].schema.enum", contains(true, false));
+                        "paths.'/api/operation/spec/array/params'.get.parameters[6].schema.type", is("array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[6].schema.enum", contains(true, false),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[7].name", is("byte_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[7].schema.type", is("array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[7].schema.enum",
+                        contains("MQ==", "Mg==", "Mw=="),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[8].name", is("binary_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[8].schema.type", is("array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[8].schema.enum",
+                        contains("MQ==", "Mg==", "Mw=="),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[9].name", is("date_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[9].schema.type", is("array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[9].schema.enum",
+                        contains("2023-01-01", "2023-02-02", "2023-03-03"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[10].name", is("datetime_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[10].schema.type", is("array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[10].schema.enum",
+                        contains("2023-01-01T11:11:11+01:00", "2023-02-02T12:12:12+01:00", "2023-03-03T13:13:13+01:00"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[11].name", is("password_array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[11].schema.type", is("array"),
+                        "paths.'/api/operation/spec/array/params'.get.parameters[11].schema.enum",
+                        contains("foo", "bar", "cheese"));
     }
 }