From 7e6361ba732dbaa6e7c011e249535db3bb4a8fa4 Mon Sep 17 00:00:00 2001 From: Tom Cunningham Date: Mon, 18 May 2026 21:55:32 -0400 Subject: [PATCH 1/2] Use DelegatingDataTypeProcessor for data-type-action --- kamelets/data-type-action.kamelet.yaml | 7 +++---- .../main/resources/kamelets/data-type-action.kamelet.yaml | 7 +++---- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/kamelets/data-type-action.kamelet.yaml b/kamelets/data-type-action.kamelet.yaml index ad6b86c63..2041d1ed9 100644 --- a/kamelets/data-type-action.kamelet.yaml +++ b/kamelets/data-type-action.kamelet.yaml @@ -49,7 +49,7 @@ spec: template: beans: - name: dataTypeProcessor - type: "#class:org.apache.camel.processor.transformer.DataTypeProcessor" + type: "#class:org.apache.camel.processor.transformer.DelegatingDataTypeProcessor" from: uri: "kamelet:source" steps: @@ -65,6 +65,5 @@ spec: - setProperty: name: CamelDataType simple: "{{format}}" - - bean: - ref: "{{dataTypeProcessor}}" - method: process + - process: + ref: "dataTypeProcessor" diff --git a/library/camel-kamelets/src/main/resources/kamelets/data-type-action.kamelet.yaml b/library/camel-kamelets/src/main/resources/kamelets/data-type-action.kamelet.yaml index ad6b86c63..2041d1ed9 100644 --- a/library/camel-kamelets/src/main/resources/kamelets/data-type-action.kamelet.yaml +++ b/library/camel-kamelets/src/main/resources/kamelets/data-type-action.kamelet.yaml @@ -49,7 +49,7 @@ spec: template: beans: - name: dataTypeProcessor - type: "#class:org.apache.camel.processor.transformer.DataTypeProcessor" + type: "#class:org.apache.camel.processor.transformer.DelegatingDataTypeProcessor" from: uri: "kamelet:source" steps: @@ -65,6 +65,5 @@ spec: - setProperty: name: CamelDataType simple: "{{format}}" - - bean: - ref: "{{dataTypeProcessor}}" - method: process + - process: + ref: "dataTypeProcessor" From 54ba274f9f6757860c4b17bb4d755cbc11310bee Mon Sep 17 00:00:00 2001 From: Tom Cunningham Date: Tue, 19 May 2026 08:20:52 -0400 Subject: [PATCH 2/2] test: fix jira-source-pipe Citrus test to match actual Jira API behavior The test was failing because it didn't match the actual query parameters and API calls made by the jira-source kamelet: - Changed ORDER BY clause from 'key desc' to 'created DESC' to match the actual query parameter sent by the kamelet - Added missing query parameters: expand, fields, and startAt - Added mock for /rest/api/latest/myself endpoint which is called during kamelet initialization Co-Authored-By: Claude Sonnet 4.5 --- .../jira/jira-source-pipe.citrus.it.yaml | 48 +++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/tests/camel-kamelets-itest/src/test/resources/jira/jira-source-pipe.citrus.it.yaml b/tests/camel-kamelets-itest/src/test/resources/jira/jira-source-pipe.citrus.it.yaml index a8cecd814..237e6bda7 100644 --- a/tests/camel-kamelets-itest/src/test/resources/jira/jira-source-pipe.citrus.it.yaml +++ b/tests/camel-kamelets-itest/src/test/resources/jira/jira-source-pipe.citrus.it.yaml @@ -62,9 +62,15 @@ actions: path: "/rest/api/latest/search" parameters: - name: jql - value: "citrus:urlEncode(${jira.jql})+ORDER+BY+key+desc" + value: "citrus:urlEncode(${jira.jql})+ORDER+BY+created+DESC" + - name: expand + value: "schema%2Cnames" + - name: fields + value: "%2Anavigable" - name: maxResults value: "1" + - name: startAt + value: "0" headers: - name: Authorization value: "Basic citrus:encodeBase64(${jira.username}:${jira.password})" @@ -95,6 +101,36 @@ actions: ] } + # Verify myself request + - http: + server: "jiraServer" + receiveRequest: + GET: + path: "/rest/api/latest/myself" + headers: + - name: Authorization + value: "Basic citrus:encodeBase64(${jira.username}:${jira.password})" + + - http: + server: "jiraServer" + sendResponse: + response: + status: 200 + reasonPhrase: "OK" + version: "HTTP/1.1" + contentType: "application/json" + body: + data: | + { + "name": "citrus", + "emailAddress": "citrus@example.com", + "displayName": "Citrus User", + "timeZone": "America/New_York", + "avatarUrls": { + "48x48": "${jira.url}/secure/useravatar?ownerId=citrus&avatarId=10342" + } + } + # Verify search request - http: server: "jiraServer" @@ -103,11 +139,15 @@ actions: path: "/rest/api/latest/search" parameters: - name: jql - value: "citrus:urlEncode(${jira.jql})+ORDER+BY+key+desc" - - name: maxResults - value: "50" + value: "citrus:urlEncode(${jira.jql})" - name: expand value: "schema%2Cnames" + - name: fields + value: "%2Anavigable" + - name: maxResults + value: "50" + - name: startAt + value: "0" headers: - name: Authorization value: "Basic citrus:encodeBase64(${jira.username}:${jira.password})"