From b112e541ac94fdb59cea158f5b7d45ee60999d4e Mon Sep 17 00:00:00 2001 From: Yves Piel Date: Mon, 3 Nov 2025 16:48:55 +0100 Subject: [PATCH 1/4] feat(QTDI-2143): Add DynamicDependenciesServiceConfiguration configuration. --- ...namicDependenciesServiceConfiguration.java | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 component-api/src/main/java/org/talend/sdk/component/api/configuration/type/DynamicDependenciesServiceConfiguration.java diff --git a/component-api/src/main/java/org/talend/sdk/component/api/configuration/type/DynamicDependenciesServiceConfiguration.java b/component-api/src/main/java/org/talend/sdk/component/api/configuration/type/DynamicDependenciesServiceConfiguration.java new file mode 100644 index 0000000000000..d367dce515f68 --- /dev/null +++ b/component-api/src/main/java/org/talend/sdk/component/api/configuration/type/DynamicDependenciesServiceConfiguration.java @@ -0,0 +1,34 @@ +/** + * Copyright (C) 2006-2025 Talend Inc. - www.talend.com + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.talend.sdk.component.api.configuration.type; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import org.talend.sdk.component.api.configuration.type.meta.ConfigurationType; +import org.talend.sdk.component.api.meta.Documentation; + +@Target(TYPE) +@Retention(RUNTIME) +@ConfigurationType("dynamicDependenciesServiceConfiguration") +@Documentation("Mark a model (complex object) as being the configuration used in services annotated with @DynamicDependencies.") +public @interface DynamicDependenciesServiceConfiguration { + + String value() default "default"; +} \ No newline at end of file From 61b128692d86fe690b7e0694889f4ef3a0293923 Mon Sep 17 00:00:00 2001 From: Yves Piel Date: Mon, 3 Nov 2025 17:32:05 +0100 Subject: [PATCH 2/4] feat(QTDI-2143): Add DynamicDependenciesServiceConfiguration in the sample connector. --- .../config/DynamicDependenciesConf.java | 29 +++++++++++++++++ .../test/connectors/config/InputConfig.java | 11 +++++-- .../service/DynamicDependenciesService.java | 32 +++++++++++++++++++ 3 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java create mode 100644 sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java diff --git a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java new file mode 100644 index 0000000000000..ecf230055d88b --- /dev/null +++ b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java @@ -0,0 +1,29 @@ +package org.talend.sdk.component.test.connectors.config; + + +import java.io.Serializable; + +import org.talend.sdk.component.api.configuration.Option; +import org.talend.sdk.component.api.configuration.type.DynamicDependenciesServiceConfiguration; +import org.talend.sdk.component.api.configuration.ui.layout.GridLayout; +import org.talend.sdk.component.api.meta.Documentation; + +import lombok.Data; + +@Data +@DynamicDependenciesServiceConfiguration +@GridLayout({ + @GridLayout.Row({"group"}), + @GridLayout.Row({"artifact"}) +}) +public class DynamicDependenciesConf implements Serializable { + + @Option + @Documentation("The maven group.") + private String group; + + @Option + @Documentation("The maven artifact id.") + private String artifact; + +} \ No newline at end of file diff --git a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/InputConfig.java b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/InputConfig.java index 1d8e5a8e74a3d..245d578116cd7 100644 --- a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/InputConfig.java +++ b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/InputConfig.java @@ -32,7 +32,9 @@ @GridLayout.Row({ "date" }), @GridLayout.Row({ "dataset" }), @GridLayout.Row({ "generateException" }), - @GridLayout.Row({ "dbType" }) }) + @GridLayout.Row({ "dbType" }), + @GridLayout.Row({ "dynamicDependenciesConf" }) +}) @GridLayout( names = GridLayout.FormType.ADVANCED, value = { @@ -65,4 +67,9 @@ public class InputConfig implements Serializable { @DefaultValue("Mysql") @Hidden private String dbType; -} + + @Option + @Documentation("The dynamic dependencies configuration.") + private DynamicDependenciesConf dynamicDependenciesConf; + +} \ No newline at end of file diff --git a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java new file mode 100644 index 0000000000000..80340ee4c9c7c --- /dev/null +++ b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java @@ -0,0 +1,32 @@ +package org.talend.sdk.component.test.connectors.service; + +import java.util.ArrayList; +import java.util.List; + +import org.talend.sdk.component.api.configuration.Option; +import org.talend.sdk.component.api.service.Service; +import org.talend.sdk.component.api.service.dependency.DynamicDependencies; +import org.talend.sdk.component.test.connectors.config.DynamicDependenciesConf; + +@Service +public class DynamicDependenciesService { + + /** + * This is a fake dynamic depencencies service. + * It returns 3 times the dependency define in the configuration with version 1.0, 2.0 and 3.0. + * + * @param conf + * @return The list of dynamic dependencies. + */ + @DynamicDependencies + public List getDynamicDependencies(@Option("DynDepsConfig") DynamicDependenciesConf conf) { + List dependencies = new ArrayList<>(); + + for (int version = 1; version <= 3; version++) { + dependencies.add(String.format("%s:%s:%s.0", conf.getGroup(), conf.getArtifact(), version)); + } + + return dependencies; + } + +} \ No newline at end of file From 5ea8e12ba00937d35c6e4aae0f5be4b73f8e5b5c Mon Sep 17 00:00:00 2001 From: Yves Piel Date: Mon, 3 Nov 2025 17:36:35 +0100 Subject: [PATCH 3/4] feat(QTDI-2143): Add DynamicDependenciesServiceConfiguration in the sample connector. --- .../config/DynamicDependenciesConf.java | 20 ++++++++++++++++--- .../service/DynamicDependenciesService.java | 17 +++++++++++++++- .../connectors/config/Messages.properties | 8 ++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java index ecf230055d88b..22258c28bebca 100644 --- a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java +++ b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/config/DynamicDependenciesConf.java @@ -1,6 +1,20 @@ +/** + * Copyright (C) 2006-2025 Talend Inc. - www.talend.com + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.talend.sdk.component.test.connectors.config; - import java.io.Serializable; import org.talend.sdk.component.api.configuration.Option; @@ -13,8 +27,8 @@ @Data @DynamicDependenciesServiceConfiguration @GridLayout({ - @GridLayout.Row({"group"}), - @GridLayout.Row({"artifact"}) + @GridLayout.Row({ "group" }), + @GridLayout.Row({ "artifact" }) }) public class DynamicDependenciesConf implements Serializable { diff --git a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java index 80340ee4c9c7c..caaf6f1dd1052 100644 --- a/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java +++ b/sample-parent/sample-connector/src/main/java/org/talend/sdk/component/test/connectors/service/DynamicDependenciesService.java @@ -1,3 +1,18 @@ +/** + * Copyright (C) 2006-2025 Talend Inc. - www.talend.com + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.talend.sdk.component.test.connectors.service; import java.util.ArrayList; @@ -19,7 +34,7 @@ public class DynamicDependenciesService { * @return The list of dynamic dependencies. */ @DynamicDependencies - public List getDynamicDependencies(@Option("DynDepsConfig") DynamicDependenciesConf conf) { + public List getDynamicDependencies(@Option("DynDepsConfig") final DynamicDependenciesConf conf) { List dependencies = new ArrayList<>(); for (int version = 1; version <= 3; version++) { diff --git a/sample-parent/sample-connector/src/main/resources/org/talend/sdk/component/test/connectors/config/Messages.properties b/sample-parent/sample-connector/src/main/resources/org/talend/sdk/component/test/connectors/config/Messages.properties index 5b3c2995d8faa..4e3c5e6677263 100644 --- a/sample-parent/sample-connector/src/main/resources/org/talend/sdk/component/test/connectors/config/Messages.properties +++ b/sample-parent/sample-connector/src/main/resources/org/talend/sdk/component/test/connectors/config/Messages.properties @@ -64,6 +64,14 @@ InputConfig.generateRuntimeException._displayName = Generate Runtime Exception InputConfig.generateRuntimeException.._documentation = Doc: Use the generate runtime exception service or not. InputConfig.dbType._displayName = DB Type InputConfig.dbType._placeholder = Placeholder: db +InputConfig.dynamicDependenciesConf._displayName = Dynamic dependencies section + +# DynamicDependenciesConf +DynamicDependenciesConf.group._displayName = Group +DynamicDependenciesConf.group._placeholder = org.talend.components +DynamicDependenciesConf.artifact._displayName = Artifact +DynamicDependenciesConf.artifact._placeholder = mylibrary + # Output OutputConfig._documentation = Doc: The output config for the connector. From ccd2109cf30a8dbe98aab39182513ba55f276033 Mon Sep 17 00:00:00 2001 From: Yves Piel Date: Mon, 3 Nov 2025 19:06:34 +0100 Subject: [PATCH 4/4] feat(QTDI-2143): Add component-erver API test. --- .../tck_action_index_api_test.json | 92 ++++++------ .../tck_component_details_api_test.json | 135 +++++++++++++----- ...ck_configurationType_details_api_test.json | 74 +++++----- .../tck_configurationType_index_api_test.json | 84 +++++------ 4 files changed, 221 insertions(+), 164 deletions(-) diff --git a/talend-component-maven-plugin/src/it/web/test/tck-action-index-api-test/tck_action_index_api_test.json b/talend-component-maven-plugin/src/it/web/test/tck-action-index-api-test/tck_action_index_api_test.json index 061dc2abef7ed..172c0b49933a4 100644 --- a/talend-component-maven-plugin/src/it/web/test/tck-action-index-api-test/tck_action_index_api_test.json +++ b/talend-component-maven-plugin/src/it/web/test/tck-action-index-api-test/tck_action_index_api_test.json @@ -5,7 +5,7 @@ "entity": { "type": "Project", "description": "To run the test you need to run a component server. \nTesting documentation can be found [here](https://github.com/Talend/component-runtime/tree/master/talend-component-maven-plugin/src/it/web) \nApi documentation is [here for action index](https://talend.github.io/component-runtime/main/latest/rest-openapi.html#/Action/getActionIndex)", - "id": "0f716fa6-a56d-4321-9937-3aa6f3a66f10", + "id": "e61c46db-5288-4c01-a499-1c7bc248ce70", "name": "tck-action-index-api-test" }, "children": [ @@ -50,7 +50,7 @@ "path": "/api/v1/action/index" }, "description": "TODO improve language test \nhttps://jira.talendforge.org/browse/TCOMP-2246", - "id": "fd16a9a4-c458-4d5b-b16e-ced085fa0919", + "id": "e9d6584f-555f-443c-8d3d-c3e39f12e333", "name": "action/index - default", "headers": [], "assertions": [ @@ -75,12 +75,6 @@ "path": "$.items", "value": "^{\"items\":\\[{\"component\":\"" }, - { - "comparison": "LengthGreaterThanOrEqual", - "subject": "ResponseJsonBody", - "path": "$.items", - "value": "21" - }, { "comparison": "Exists", "subject": "ResponseJsonBody", @@ -128,6 +122,12 @@ "subject": "ResponseJsonBody", "path": "$.items.component", "value": "Common" + }, + { + "comparison": "LengthEqual", + "subject": "ResponseJsonBody", + "path": "$.items", + "value": "27" } ] } @@ -166,7 +166,7 @@ "path": "/api/v1/action/index" }, "description": "", - "id": "09510584-900a-43fd-8223-9c121b8babde", + "id": "8ec1f291-719b-4782-a89b-e1211b1a6c8a", "name": "action/index - family one", "headers": [], "assertions": [ @@ -242,7 +242,7 @@ "path": "/api/v1/action/index" }, "description": "", - "id": "13ee4bfe-27a6-4124-b3bd-1b1769e74fc0", + "id": "c45f3dcf-efb3-4efd-9ab1-7666ed6ea503", "name": "action/index - family two", "headers": [], "assertions": [ @@ -317,7 +317,7 @@ "path": "/api/v1/action/index" }, "description": "Expected: empty item list", - "id": "59e1ff3b-68ee-495e-9997-f347587923c1", + "id": "259ccbbb-5545-4b10-9dd0-b4df8cfae95b", "name": "action/index - family unknown", "headers": [], "assertions": [ @@ -387,7 +387,7 @@ "path": "/api/v1/action/index" }, "description": "", - "id": "93874854-8083-46a7-935c-3579fac0f39c", + "id": "131d1b5c-0c70-4412-93b8-debc8b639cb8", "name": "action/index - language", "headers": [], "assertions": [ @@ -458,7 +458,7 @@ "path": "/api/v1/action/index" }, "description": "", - "id": "f795e10b-daf3-42ea-9231-e9206f1f93cc", + "id": "2c8a53a4-d864-4d8c-8413-ecdd0211607d", "name": "action/index - type one", "headers": [], "assertions": [ @@ -540,7 +540,7 @@ "path": "/api/v1/action/index" }, "description": "", - "id": "3d036f5b-a35f-4d96-aae2-6930a99224f1", + "id": "460710ca-6a87-477d-9dc6-d757f187b5b3", "name": "action/index - type two", "headers": [], "assertions": [ @@ -615,7 +615,7 @@ "path": "/api/v1/action/index" }, "description": "Expected: empty item list", - "id": "227d7df9-127f-4dbb-82ab-de05f08cece5", + "id": "d9505116-b4a6-4384-9beb-d71e8fe091e2", "name": "action/index - type unknown", "headers": [], "assertions": [ @@ -648,63 +648,63 @@ ], "environments": [ { - "id": "7cc306c5-b3f9-4f07-8476-7fa2db669034", + "id": "91e0371f-98c1-4c53-ad6b-82159f70bdea", "name": "component_runtime_ci", "variables": { - "56f6cb1b-e758-42d2-bfd2-b8b5464654b5": { - "name": "output_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", + "9f81d8ef-f4cd-4d98-a6fe-ac1799901dae": { + "name": "server-port", + "value": "8081", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "f7314dca-1c04-496c-ad19-44a4c8009360": { - "name": "mapper_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU1hcHBlcjE", + "e1ce7f51-c74c-49e4-8d16-e15059c5f087": { + "name": "family_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "f0e9a692-6866-4c95-8b76-5f5d363e3ed1": { + "d58a03e0-7f47-4b81-a577-0e47da2f21d1": { "name": "dataset_id", "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "1266d066-8fd3-47f6-ad74-260e39b9d472": { - "name": "server-ip", - "value": "localhost", + "dbfa3a85-c2f8-4d53-9cf1-98c485686e49": { + "name": "output_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "f05e4bab-fee2-4637-869f-bb228225d2ea": { - "name": "server-port", - "value": "8081", + "10c0b617-20e8-4b32-8bc5-c33ff390f8d7": { + "name": "mapper_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU1hcHBlcjE", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "ec6e694a-f4a6-4558-a788-eb3e36ee893e": { - "name": "datastore_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", + "fb97725c-0775-4d33-9e79-619dc77e4ade": { + "name": "httpbin_addr", + "value": "tal-rd22.talend.lan:8084", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "c803040f-9503-4201-a576-aee684b93510": { - "name": "family_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", + "1a597575-fdb5-4973-bebd-892999ee0a93": { + "name": "datastore_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", "enabled": true, - "createdAt": "2023-05-15T09:45:49.917Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "838469ba-346a-4f73-b769-031f529306f0": { - "name": "httpbin_addr", - "value": "tal-rd22.talend.lan:8084", + "054b1ac1-13c0-4b87-a18c-abbe4caacd24": { + "name": "server-ip", + "value": "localhost", "enabled": true, - "createdAt": "2023-05-24T07:29:46.274Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false } } diff --git a/talend-component-maven-plugin/src/it/web/test/tck-component-details-api-test/tck_component_details_api_test.json b/talend-component-maven-plugin/src/it/web/test/tck-component-details-api-test/tck_component_details_api_test.json index 659f826a084fc..d26c896cb358e 100644 --- a/talend-component-maven-plugin/src/it/web/test/tck-component-details-api-test/tck_component_details_api_test.json +++ b/talend-component-maven-plugin/src/it/web/test/tck-component-details-api-test/tck_component_details_api_test.json @@ -5,10 +5,67 @@ "entity": { "type": "Project", "description": "To run the test you need to run a component server. \nTesting documentation can be found [here](https://github.com/Talend/component-runtime/tree/master/talend-component-maven-plugin/src/it/web) \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "bea8220c-3b57-4c73-b744-ab91b562b0c3", + "id": "c3a1bbfb-e890-442c-ba47-05da1dcc0d92", "name": "tck-component-details-api-test" }, "children": [ + { + "entity": { + "type": "Request", + "method": { + "link": "http://tools.ietf.org/html/rfc7231#section-4.3.1", + "name": "GET" + }, + "body": { + "formBody": { + "overrideContentType": true, + "encoding": "application/x-www-form-urlencoded", + "items": [] + }, + "bodyType": "Text" + }, + "uri": { + "query": { + "delimiter": "&", + "items": [ + { + "name": "language", + "value": "en" + }, + { + "enabled": true, + "name": "identifiers", + "value": "${\"mapper_id\"}" + } + ] + }, + "scheme": { + "name": "http", + "version": "V11" + }, + "host": "${\"server-ip\"}:${\"server-port\"}", + "path": "/api/v1/component/details" + }, + "description": "Check the properties inside the components details \nRelated to bugs: TCOMP-2171", + "id": "a6aa10bf-aea2-471b-b57a-c13343c3d92b", + "name": "component/details - check dynamic dependencies config", + "headers": [], + "assertions": [ + { + "comparison": "Equals", + "subject": "ResponseStatus", + "path": "code", + "value": "200" + }, + { + "comparison": "Equals", + "subject": "ResponseJsonBody", + "path": "$.details[0].properties[?(@.name == \"dynamicDependenciesConf\")].metadata.configurationtype::type", + "value": "dynamicDependenciesServiceConfiguration" + } + ] + } + }, { "entity": { "type": "Request", @@ -47,7 +104,7 @@ "path": "/api/v1/component/details" }, "description": "Check the properties inside the components details \nRelated to bugs: TCOMP-2171", - "id": "d7f2dfc4-5d26-4fea-a884-fbfb2aa10564", + "id": "7e3c9c26-8448-4758-ad17-74d29ecb2ded", "name": "component/details - content", "headers": [], "assertions": [ @@ -164,7 +221,7 @@ "path": "/api/v1/component/details" }, "description": "The correct call, with one correct \"identifiers\" parameter, should be in English with one component.", - "id": "9378d327-8622-4b91-a903-183c8b321d81", + "id": "cfd29e2b-d1f3-409c-bb8a-c2fbf453d460", "name": "component/details - identifiers (one)", "headers": [], "assertions": [ @@ -238,7 +295,7 @@ "path": "/api/v1/component/details" }, "description": "The correct call, with two correct \"identifiers\" parameter, should be in English with two component.", - "id": "c75cb1f3-67c8-417c-9fdb-012a7ee15bc4", + "id": "e5fd6ece-856a-402d-84b6-f4eba1389c12", "name": "component/details - identifiers (two)", "headers": [], "assertions": [ @@ -308,7 +365,7 @@ "path": "/api/v1/component/details" }, "description": "Call of the endpoint with \"language\" parameter set to \"fr\", the response should contain French words.", - "id": "4441dcf0-e679-4860-817d-7f44445b972c", + "id": "ace81659-4f29-4ac0-bac6-22bb4e72c92e", "name": "component/details - language", "headers": [], "assertions": [ @@ -376,7 +433,7 @@ "path": "/api/v1/component/details" }, "description": "Expected:empty answer \nThe error call, with a no \"identifier\" parameter, should return a 200 status with a empty content", - "id": "27384b28-d235-41f0-8b64-4907d4df7dd4", + "id": "df6e280f-a9f3-4fe9-87a1-65f595f9c941", "name": "component/details - missing identifier", "headers": [], "assertions": [ @@ -439,7 +496,7 @@ "path": "/api/v1/component/details" }, "description": "Expected: 400 \nThe error call, with a wrong \"identifier\" parameter, should return a 400 status with a json content", - "id": "9737ca94-5083-408c-94b5-90a924a4ec79", + "id": "fcdd8ad2-e352-4f3a-bf01-d0a4d5952c9d", "name": "component/details - wrong identifier", "headers": [], "assertions": [ @@ -481,63 +538,63 @@ ], "environments": [ { - "id": "7cc306c5-b3f9-4f07-8476-7fa2db669034", + "id": "91e0371f-98c1-4c53-ad6b-82159f70bdea", "name": "component_runtime_ci", "variables": { - "ed8bbd5f-ff31-40c3-963c-fc18dbb6f72a": { - "name": "server-ip", - "value": "localhost", + "9f81d8ef-f4cd-4d98-a6fe-ac1799901dae": { + "name": "server-port", + "value": "8081", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "28ea0f59-b89b-474a-9f77-6f3d73dd9046": { - "name": "datastore_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", + "e1ce7f51-c74c-49e4-8d16-e15059c5f087": { + "name": "family_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "d2298e59-d08d-48af-bb6e-c52e7810c209": { - "name": "server-port", - "value": "8081", + "d58a03e0-7f47-4b81-a577-0e47da2f21d1": { + "name": "dataset_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", + "enabled": true, + "createdAt": "2025-11-03T17:09:51.791Z", + "private": false + }, + "dbfa3a85-c2f8-4d53-9cf1-98c485686e49": { + "name": "output_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "4fde58c1-0bef-461c-b576-a21289ccdbe1": { + "10c0b617-20e8-4b32-8bc5-c33ff390f8d7": { "name": "mapper_id", "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU1hcHBlcjE", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "52dc8012-b6f2-41d3-8e87-549e41251792": { + "fb97725c-0775-4d33-9e79-619dc77e4ade": { "name": "httpbin_addr", "value": "tal-rd22.talend.lan:8084", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", - "private": false - }, - "6205aaff-1547-4dcc-bcb5-188fb9d26b51": { - "name": "dataset_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", - "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "851c35ce-8117-4f11-adaa-9fe7823cb869": { - "name": "family_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", + "1a597575-fdb5-4973-bebd-892999ee0a93": { + "name": "datastore_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "442413a8-bd29-40db-8f74-5f2d6ebb6509": { - "name": "output_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", + "054b1ac1-13c0-4b87-a18c-abbe4caacd24": { + "name": "server-ip", + "value": "localhost", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false } } diff --git a/talend-component-maven-plugin/src/it/web/test/tck-configurationType-details-api-test/tck_configurationType_details_api_test.json b/talend-component-maven-plugin/src/it/web/test/tck-configurationType-details-api-test/tck_configurationType_details_api_test.json index dca828e0f2c4a..e788a804a8461 100644 --- a/talend-component-maven-plugin/src/it/web/test/tck-configurationType-details-api-test/tck_configurationType_details_api_test.json +++ b/talend-component-maven-plugin/src/it/web/test/tck-configurationType-details-api-test/tck_configurationType_details_api_test.json @@ -5,7 +5,7 @@ "entity": { "type": "Project", "description": "To run the test you need to run a component server. \nTesting documentation can be found [here](https://github.com/Talend/component-runtime/tree/master/talend-component-maven-plugin/src/it/web) \nApi documentation is here [configurationType/details](https://talend.github.io/component-runtime/main/latest/rest-openapi.html#/Configuration%20Type/getConfigurationDetail) ", - "id": "09ef9906-0d79-4c63-b72b-555bce619fe2", + "id": "69f92458-02b1-4579-842a-af605067c4d2", "name": "tck-configurationType-details-api-test" }, "children": [ @@ -46,7 +46,7 @@ "path": "/api/v1/configurationtype/details" }, "description": "Expected: empty body answer \nThe default call, without any parameter. \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "b33e751f-f8bc-43cd-bbd5-6d49d68eabb2", + "id": "8e534716-daca-4399-8d84-ae1f252df755", "name": "configurationtype/details - default", "headers": [], "assertions": [ @@ -104,7 +104,7 @@ "path": "/api/v1/configurationtype/details" }, "description": "The default call, with a one identifiers parameter using the duplication of \"identifiers\" to create a table. \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "174b936c-681d-428b-81a0-761bca0f2f36", + "id": "f024dddc-7f04-42cd-9395-c9dbbe510ad0", "name": "configurationtype/details - identifiers (two)", "headers": [ { @@ -168,7 +168,7 @@ "path": "/api/v1/configurationtype/details" }, "description": "The default call, with a one identifiers parameter. \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "dca71ac5-9a15-4347-ad3e-46c3805f8e29", + "id": "f8d841c1-3681-416f-a1bc-001a54e2e167", "name": "configurationtype/details - language", "headers": [], "assertions": [ @@ -237,7 +237,7 @@ "path": "/api/v1/configurationtype/details" }, "description": "Expected: empty body answer \nThe default call, with a given identifiers parameter unknown. \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "0ba476f2-0af2-4688-a184-0c76b03d0588", + "id": "68f1dcac-b4e6-4e5c-b48e-bfda1b534cfc", "name": "configurationtype/details - unknow identifier", "headers": [], "assertions": [ @@ -267,63 +267,63 @@ ], "environments": [ { - "id": "7cc306c5-b3f9-4f07-8476-7fa2db669034", + "id": "91e0371f-98c1-4c53-ad6b-82159f70bdea", "name": "component_runtime_ci", "variables": { - "ed8bbd5f-ff31-40c3-963c-fc18dbb6f72a": { - "name": "server-ip", - "value": "localhost", + "9f81d8ef-f4cd-4d98-a6fe-ac1799901dae": { + "name": "server-port", + "value": "8081", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "28ea0f59-b89b-474a-9f77-6f3d73dd9046": { - "name": "datastore_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", + "e1ce7f51-c74c-49e4-8d16-e15059c5f087": { + "name": "family_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "d2298e59-d08d-48af-bb6e-c52e7810c209": { - "name": "server-port", - "value": "8081", + "d58a03e0-7f47-4b81-a577-0e47da2f21d1": { + "name": "dataset_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", + "enabled": true, + "createdAt": "2025-11-03T17:09:51.791Z", + "private": false + }, + "dbfa3a85-c2f8-4d53-9cf1-98c485686e49": { + "name": "output_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "4fde58c1-0bef-461c-b576-a21289ccdbe1": { + "10c0b617-20e8-4b32-8bc5-c33ff390f8d7": { "name": "mapper_id", "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU1hcHBlcjE", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "52dc8012-b6f2-41d3-8e87-549e41251792": { + "fb97725c-0775-4d33-9e79-619dc77e4ade": { "name": "httpbin_addr", "value": "tal-rd22.talend.lan:8084", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", - "private": false - }, - "6205aaff-1547-4dcc-bcb5-188fb9d26b51": { - "name": "dataset_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", - "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "851c35ce-8117-4f11-adaa-9fe7823cb869": { - "name": "family_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", + "1a597575-fdb5-4973-bebd-892999ee0a93": { + "name": "datastore_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "442413a8-bd29-40db-8f74-5f2d6ebb6509": { - "name": "output_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", + "054b1ac1-13c0-4b87-a18c-abbe4caacd24": { + "name": "server-ip", + "value": "localhost", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false } } diff --git a/talend-component-maven-plugin/src/it/web/test/tck-configurationType-index-api-test/tck_configurationType_index_api_test.json b/talend-component-maven-plugin/src/it/web/test/tck-configurationType-index-api-test/tck_configurationType_index_api_test.json index 5108438a11967..8d7fdcf36d38d 100644 --- a/talend-component-maven-plugin/src/it/web/test/tck-configurationType-index-api-test/tck_configurationType_index_api_test.json +++ b/talend-component-maven-plugin/src/it/web/test/tck-configurationType-index-api-test/tck_configurationType_index_api_test.json @@ -5,7 +5,7 @@ "entity": { "type": "Project", "description": "To run the test you need to run a component server. \nTesting documentation can be found [here](https://github.com/Talend/component-runtime/tree/master/talend-component-maven-plugin/src/it/web) \nApi documentation is here [configurationType/index](https://talend.github.io/component-runtime/main/latest/rest-openapi.html#/Configuration%20Type/getRepositoryModel) ", - "id": "9437fa87-7a35-441f-8102-3fb7b77e8ab7", + "id": "735806aa-f7ca-48f6-a699-8de02ef7d57b", "name": "tck-configurationType-index-api-test" }, "children": [ @@ -50,7 +50,7 @@ "path": "/api/v1/configurationtype/index" }, "description": "The default call, without any parameter, should be in English with all elements in light payload mode. \nWe check the presence of managed demo elements. \n \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "8179e9e8-635c-40e5-b5cc-4f369cbb41f9", + "id": "0eebccef-1f7d-4d6f-aa44-8f53d3233060", "name": "configurationtype/index - default", "headers": [], "assertions": [ @@ -64,7 +64,7 @@ "comparison": "LengthEqual", "subject": "ResponseJsonBody", "path": "$.nodes", - "value": "9" + "value": "10" }, { "comparison": "Matches", @@ -94,7 +94,7 @@ "comparison": "Less", "subject": "ResponseBody", "path": "length", - "value": "3000" + "value": "3214" } ] } @@ -141,7 +141,7 @@ "path": "/api/v1/configurationtype/index" }, "description": "Test the language parameter usage. \n \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "8db1053d-fcb0-49ab-a0d2-9b31bf5f89c5", + "id": "d56401dd-6e4a-49fd-8402-39738d662155", "name": "configurationtype/index - language", "headers": [], "assertions": [ @@ -202,7 +202,7 @@ "path": "/api/v1/configurationtype/index" }, "description": "The default call, with lightPayload parameter set to wrong value. \nTODO: Check if normal than wrong_value = true \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "b90aa342-8d76-467b-95ef-1e4f479b1c06", + "id": "5195a40c-74f2-4223-99aa-f3b067a1414c", "name": "configurationtype/index - lightPayload set to a wrong value", "headers": [], "assertions": [ @@ -269,7 +269,7 @@ "path": "/api/v1/configurationtype/index" }, "description": "The default call, with lightPayload parameter set to false. \nTODO: what is the best test to compare light and non-light payload? [TCOMP-2194](https://jira.talendforge.org/browse/TCOMP-2194) \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "b7211217-efe7-49c3-a7e7-aeacec2639b0", + "id": "811bbad1-cd87-43a3-9e5b-f1a6bf687de1", "name": "configurationtype/index - lightPayload set to false", "headers": [], "assertions": [ @@ -342,7 +342,7 @@ "path": "/api/v1/configurationtype/index" }, "description": "The default call, with lightPayload parameter set to true. \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html)", - "id": "cc149741-2748-4161-ac92-0474d50666fe", + "id": "5d86e2c4-df97-4fd6-b619-2a11692181f6", "name": "configurationtype/index - lightPayload set to true", "headers": [], "assertions": [ @@ -362,7 +362,7 @@ "comparison": "Less", "subject": "ResponseBody", "path": "length", - "value": "3000" + "value": "3214" } ] } @@ -413,7 +413,7 @@ "path": "/api/v1/configurationtype/index" }, "description": "Call, with query parameter, should be in English with one elements in light payload mode. \nTODO: others query [TCOMP-2352](https://jira.talendforge.org/browse/TCOMP-2352) \n \nApi documentation is [here](https://talend.github.io/component-runtime/main/latest/rest-openapi.html) ", - "id": "c8d6baf7-bfec-4adf-9401-53fea74af258", + "id": "4da57dbc-2986-43b0-813e-060adadd506e", "name": "configurationtype/index - query - filtered answer", "headers": [], "assertions": [ @@ -443,63 +443,63 @@ ], "environments": [ { - "id": "7cc306c5-b3f9-4f07-8476-7fa2db669034", + "id": "91e0371f-98c1-4c53-ad6b-82159f70bdea", "name": "component_runtime_ci", "variables": { - "ed8bbd5f-ff31-40c3-963c-fc18dbb6f72a": { - "name": "server-ip", - "value": "localhost", + "9f81d8ef-f4cd-4d98-a6fe-ac1799901dae": { + "name": "server-port", + "value": "8081", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "28ea0f59-b89b-474a-9f77-6f3d73dd9046": { - "name": "datastore_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", + "e1ce7f51-c74c-49e4-8d16-e15059c5f087": { + "name": "family_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "d2298e59-d08d-48af-bb6e-c52e7810c209": { - "name": "server-port", - "value": "8081", + "d58a03e0-7f47-4b81-a577-0e47da2f21d1": { + "name": "dataset_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", + "enabled": true, + "createdAt": "2025-11-03T17:09:51.791Z", + "private": false + }, + "dbfa3a85-c2f8-4d53-9cf1-98c485686e49": { + "name": "output_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "4fde58c1-0bef-461c-b576-a21289ccdbe1": { + "10c0b617-20e8-4b32-8bc5-c33ff390f8d7": { "name": "mapper_id", "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU1hcHBlcjE", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "52dc8012-b6f2-41d3-8e87-549e41251792": { + "fb97725c-0775-4d33-9e79-619dc77e4ade": { "name": "httpbin_addr", "value": "tal-rd22.talend.lan:8084", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", - "private": false - }, - "6205aaff-1547-4dcc-bcb5-188fb9d26b51": { - "name": "dataset_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzZXQjVGhlRGF0YXNldA", - "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "851c35ce-8117-4f11-adaa-9fe7823cb869": { - "name": "family_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5", + "1a597575-fdb5-4973-bebd-892999ee0a93": { + "name": "datastore_id", + "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I2RhdGFzdG9yZSNUaGVDb25uZWN0aW9u", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false }, - "442413a8-bd29-40db-8f74-5f2d6ebb6509": { - "name": "output_id", - "value": "c2FtcGxlLWNvbm5lY3RvciN0aGVfZmFtaWx5I1RoZU91dHB1dDE", + "054b1ac1-13c0-4b87-a18c-abbe4caacd24": { + "name": "server-ip", + "value": "localhost", "enabled": true, - "createdAt": "2023-07-13T13:32:37.182Z", + "createdAt": "2025-11-03T17:09:51.791Z", "private": false } }