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

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


The following commit(s) were added to refs/heads/main by this push:
     new d5dbfc539 Fix #2873: migrate the avro and protobuf itests from Pipe to 
Camel routes (#3041)
d5dbfc539 is described below

commit d5dbfc5395ad273e8b30510d6ea28fbf8f677be4
Author: Andrea Cosentino <[email protected]>
AuthorDate: Thu Sep 17 10:18:01 2026 +0200

    Fix #2873: migrate the avro and protobuf itests from Pipe to Camel routes 
(#3041)
    
    Second tranche, eight Pipes across the avro and protobuf directories.
    
    These are shaped differently from the transformation ones migrated in #3040.
    Each directory holds two Citrus tests that each drive two integrations, 
rather
    than one test per integration, and the two integrations talk to each other: 
a
    binary source applies the data type and posts to a webhook that the 
deserialize
    side serves. So there is no per-Pipe Citrus file to rename here; instead the
    file references and the integration names inside the four existing Citrus 
tests
    move from <name>-pipe to <name>-route, since Camel JBang names the running
    integration after the file.
    
    The two READMEs described the setup in terms of Pipes and bindings and are
    updated to match.
    
    Conversions are checked rather than assumed: a verifier parses the Pipe and 
the
    generated route and compares the endpoint chain and every property, so a 
dropped
    or altered value fails rather than passing silently. It caught a real 
problem on
    the way -- the avro and protobuf schemas are folded block scalars carrying
    embedded double quotes, which naive quoting corrupts -- and the converter 
now
    serialises through the YAML library and re-emits multi-line strings as block
    scalars, so the schemas are unchanged.
    
    Verified with a clean run:
    
      avro-serdes-action-test      SUCCESS
      avro-data-type-test          SUCCESS
      protobuf-data-type-test      SUCCESS
      protobuf-serdes-action-test  SUCCESS
      TOTAL: 4   PASSED: 4 (100.0%)
    
    Co-authored-by: Claude Opus 5 <[email protected]>
---
 .../src/test/resources/avro/README.md              | 12 ++--
 .../resources/avro/avro-binary-source-pipe.yaml    | 53 ------------------
 .../avro-binary-source-route.yaml}                 | 57 ++++++++-----------
 .../resources/avro/avro-data-type.citrus.it.yaml   |  6 +-
 ...alize-pipe.yaml => avro-deserialize-route.yaml} | 42 +++++---------
 .../avro/avro-serdes-action.citrus.it.yaml         |  6 +-
 .../test/resources/avro/avro-serialize-pipe.yaml   | 52 ------------------
 .../avro-serialize-route.yaml}                     | 56 ++++++++-----------
 .../resources/avro/avro-x-struct-sink-pipe.yaml    | 57 -------------------
 .../avro-x-struct-sink-route.yaml}                 | 58 ++++++++------------
 .../src/test/resources/protobuf/README.md          | 12 ++--
 .../protobuf/protobuf-binary-source-pipe.yaml      | 60 --------------------
 ...pipe.yaml => protobuf-binary-source-route.yaml} | 62 ++++++++++-----------
 .../protobuf/protobuf-data-type.citrus.it.yaml     |  6 +-
 .../protobuf-deserialize-route.yaml}               | 47 +++++++---------
 .../protobuf/protobuf-serdes-action.citrus.it.yaml |  6 +-
 .../protobuf/protobuf-serialize-pipe.yaml          | 59 --------------------
 ...ize-pipe.yaml => protobuf-serialize-route.yaml} | 61 +++++++++------------
 .../protobuf/protobuf-x-struct-sink-pipe.yaml      | 64 ----------------------
 ...pipe.yaml => protobuf-x-struct-sink-route.yaml} | 63 ++++++++++-----------
 20 files changed, 212 insertions(+), 627 deletions(-)

diff --git a/tests/camel-kamelets-itest/src/test/resources/avro/README.md 
b/tests/camel-kamelets-itest/src/test/resources/avro/README.md
index 900672004..968d1d68a 100644
--- a/tests/camel-kamelets-itest/src/test/resources/avro/README.md
+++ b/tests/camel-kamelets-itest/src/test/resources/avro/README.md
@@ -6,11 +6,11 @@ This test verifies the Avro serialization/deserialization 
actions
 
 The test verifies the proper Avro serialization and deserialization of Avro.
 
-The test uses two Pipes that interact with each other. The first binding 
`avro-binary-source-pipe` periodically creates a test data event as Json and 
applies the `avro/binary` data type using the schema in [User.avsc](User.avsc). 
+The test uses two routes that interact with each other. The first route 
`avro-binary-source-route` periodically creates a test data event as Json and 
applies the `avro/binary` data type using the schema in [User.avsc](User.avsc). 
 
-The binary Avro data is then sent to a Http webhook sink that references a 
Http endpoint that is provided by the 2nd binding `avro-deserialize-pipe`. The 
`avro-deserialize-pipe` binding provides the Http service and deserializes the 
binary Avro data using the same User schema. The deserialized data is printed 
to the log output.
+The binary Avro data is then sent to a Http webhook sink that references a 
Http endpoint that is provided by the 2nd route `avro-deserialize-route`. The 
`avro-deserialize-route` route provides the Http service and deserializes the 
binary Avro data using the same User schema. The deserialized data is printed 
to the log output.
 
-The test starts both Pipes and is able to verify the proper log output as an 
expected outcome.
+The test starts both routes and is able to verify the proper log output as an 
expected outcome.
 
 ### Citrus Test
 
@@ -18,9 +18,9 @@ The test performs the following high level steps:
 
 *Avro data type feature*
 - Create test data based on the User.avsc Avro schema
-- Load and run the `avro-deserialize-pipe` Pipe
-- Load and run the `avro-binary-source-pipe` Pipe
-- Verify that the bindings do interact with each other and the proper test 
data is logged in the binding output
+- Load and run the `avro-deserialize-route` route
+- Load and run the `avro-binary-source-route` route
+- Verify that the routes do interact with each other and the proper test data 
is logged in the route output
 
 ## Installation
 
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-binary-source-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-binary-source-pipe.yaml
deleted file mode 100644
index 989ed81a9..000000000
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-binary-source-pipe.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
-# ---------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: avro-binary-source-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: timer-source
-    properties:
-      period: 10000
-      contentType: application/json
-      message: >
-        {{input}}
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: json-deserialize-action
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: resolve-pojo-schema-action
-      properties:
-        mimeType: "avro/binary"
-        schema: >
-          { "name": "User", "type": "record", "namespace": "demo.kamelets", 
"fields": [{ "name": "id", "type": "string" }, { "name": "firstname", "type": 
"string" }, { "name": "lastname", "type": "string" }, { "name": "age", "type": 
"int" }] }
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: data-type-action
-      properties:
-        format: "avro-binary"
-  sink:
-    uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-binary-source-route.yaml
similarity index 53%
copy from 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
copy to 
tests/camel-kamelets-itest/src/test/resources/avro/avro-binary-source-route.yaml
index 436cbc8f9..a66c9ca82 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-binary-source-route.yaml
@@ -15,37 +15,26 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-deserialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 10000
+        contentType: application/json
+        message: >
+          {{input}}
+      steps:
+        - to:
+            uri: "kamelet:json-deserialize-action"
+        - to:
+            uri: "kamelet:resolve-pojo-schema-action"
+            parameters:
+              mimeType: avro/binary
+              schema: >
+                { "name": "User", "type": "record", "namespace": 
"demo.kamelets", "fields": [{ "name": "id", "type": "string" }, { "name": 
"firstname", "type": "string" }, { "name": "lastname", "type": "string" }, { 
"name": "age", "type": "int" }] }
+        - to:
+            uri: "kamelet:data-type-action"
+            parameters:
+              format: avro-binary
+        - to:
+            uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-data-type.citrus.it.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-data-type.citrus.it.yaml
index 000dec811..496881e89 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-data-type.citrus.it.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-data-type.citrus.it.yaml
@@ -35,12 +35,12 @@ actions:
             - "--port"
             - "${avro.webhook.server.port}"
           integration:
-            file: "avro/avro-x-struct-sink-pipe.yaml"
+            file: "avro/avro-x-struct-sink-route.yaml"
   - camel:
       cli:
         run:
           integration:
-            file: "avro/avro-binary-source-pipe.yaml"
+            file: "avro/avro-binary-source-route.yaml"
             systemProperties:
               properties:
                 - name: "http.sink.url"
@@ -51,6 +51,6 @@ actions:
   - camel:
       cli:
         verify:
-          integration: "avro-x-struct-sink-pipe"
+          integration: "avro-x-struct-sink-route"
           logMessage: |
             Body: {  "id" : "${uuid}",  "firstname" : "Sheldon",  "lastname" : 
"Cooper",  "age" : 28}
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-pipe.yaml 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-route.yaml
similarity index 55%
copy from 
tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-pipe.yaml
copy to 
tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-route.yaml
index 492cfde85..e28a63124 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-route.yaml
@@ -15,30 +15,18 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: avro-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: avro-deserialize-action
-      properties:
-        schema: >
-          { "name": "User", "type": "record", "namespace": "demo.kamelets", 
"fields": [{ "name": "id", "type": "string" }, { "name": "firstname", "type": 
"string" }, { "name": "lastname", "type": "string" }, { "name": "age", "type": 
"int" }] }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      parameters:
+        subpath: user
+      steps:
+        - to:
+            uri: "kamelet:avro-deserialize-action"
+            parameters:
+              schema: >
+                { "name": "User", "type": "record", "namespace": 
"demo.kamelets", "fields": [{ "name": "id", "type": "string" }, { "name": 
"firstname", "type": "string" }, { "name": "lastname", "type": "string" }, { 
"name": "age", "type": "int" }] }
+        - to:
+            uri: "kamelet:log-action"
+            parameters:
+              showHeaders: true
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-serdes-action.citrus.it.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-serdes-action.citrus.it.yaml
index ad23bf058..ab9fe148a 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-serdes-action.citrus.it.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-serdes-action.citrus.it.yaml
@@ -35,12 +35,12 @@ actions:
             - "--port"
             - "${avro.webhook.server.port}"
           integration:
-            file: "avro/avro-deserialize-pipe.yaml"
+            file: "avro/avro-deserialize-route.yaml"
   - camel:
       cli:
         run:
           integration:
-            file: "avro/avro-serialize-pipe.yaml"
+            file: "avro/avro-serialize-route.yaml"
             systemProperties:
               properties:
                 - name: "http.sink.url"
@@ -51,6 +51,6 @@ actions:
   - camel:
       cli:
         verify:
-          integration: "avro-deserialize-pipe"
+          integration: "avro-deserialize-route"
           logMessage: |
             Body: {  "id" : "${uuid}",  "firstname" : "Sheldon",  "lastname" : 
"Cooper",  "age" : 28}
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-serialize-pipe.yaml 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-serialize-pipe.yaml
deleted file mode 100644
index 021593f72..000000000
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-serialize-pipe.yaml
+++ /dev/null
@@ -1,52 +0,0 @@
-# ---------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: avro-serialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: timer-source
-    properties:
-      period: 10000
-      contentType: application/json
-      message: >
-        {{input}}
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: json-deserialize-action
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: avro-serialize-action
-      properties:
-        schema: >
-          { "name": "User", "type": "record", "namespace": "demo.kamelets", 
"fields": [{ "name": "id", "type": "string" }, { "name": "firstname", "type": 
"string" }, { "name": "lastname", "type": "string" }, { "name": "age", "type": 
"int" }] }
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: log-action
-      properties:
-        showHeaders: true
-  sink:
-    uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
 b/tests/camel-kamelets-itest/src/test/resources/avro/avro-serialize-route.yaml
similarity index 54%
copy from 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
copy to 
tests/camel-kamelets-itest/src/test/resources/avro/avro-serialize-route.yaml
index 436cbc8f9..bff9594c5 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-serialize-route.yaml
@@ -15,37 +15,25 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-deserialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 10000
+        contentType: application/json
+        message: >
+          {{input}}
+      steps:
+        - to:
+            uri: "kamelet:json-deserialize-action"
+        - to:
+            uri: "kamelet:avro-serialize-action"
+            parameters:
+              schema: >
+                { "name": "User", "type": "record", "namespace": 
"demo.kamelets", "fields": [{ "name": "id", "type": "string" }, { "name": 
"firstname", "type": "string" }, { "name": "lastname", "type": "string" }, { 
"name": "age", "type": "int" }] }
+        - to:
+            uri: "kamelet:log-action"
+            parameters:
+              showHeaders: true
+        - to:
+            uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-x-struct-sink-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-x-struct-sink-pipe.yaml
deleted file mode 100644
index a32022287..000000000
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-x-struct-sink-pipe.yaml
+++ /dev/null
@@ -1,57 +0,0 @@
-# ---------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: avro-x-struct-sink-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: data-type-action
-      properties:
-        format: "application-octet-stream"
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: resolve-pojo-schema-action
-      properties:
-        mimeType: "avro/binary"
-        schema: >
-          { "name": "User", "type": "record", "namespace": "demo.kamelets", 
"fields": [{ "name": "id", "type": "string" }, { "name": "firstname", "type": 
"string" }, { "name": "lastname", "type": "string" }, { "name": "age", "type": 
"int" }] }
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: data-type-action
-      properties:
-        format: "avro-x-struct"
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-x-struct-sink-route.yaml
similarity index 52%
copy from 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
copy to 
tests/camel-kamelets-itest/src/test/resources/avro/avro-x-struct-sink-route.yaml
index 436cbc8f9..a075e2fde 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/avro/avro-x-struct-sink-route.yaml
@@ -15,37 +15,27 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-deserialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      parameters:
+        subpath: user
+      steps:
+        - to:
+            uri: "kamelet:data-type-action"
+            parameters:
+              format: application-octet-stream
+        - to:
+            uri: "kamelet:resolve-pojo-schema-action"
+            parameters:
+              mimeType: avro/binary
+              schema: >
+                { "name": "User", "type": "record", "namespace": 
"demo.kamelets", "fields": [{ "name": "id", "type": "string" }, { "name": 
"firstname", "type": "string" }, { "name": "lastname", "type": "string" }, { 
"name": "age", "type": "int" }] }
+        - to:
+            uri: "kamelet:data-type-action"
+            parameters:
+              format: avro-x-struct
+        - to:
+            uri: "kamelet:log-action"
+            parameters:
+              showHeaders: true
diff --git a/tests/camel-kamelets-itest/src/test/resources/protobuf/README.md 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/README.md
index b7929919d..3b90afbf8 100644
--- a/tests/camel-kamelets-itest/src/test/resources/protobuf/README.md
+++ b/tests/camel-kamelets-itest/src/test/resources/protobuf/README.md
@@ -6,11 +6,11 @@ This test verifies the Protobuf serialization/deserialization 
actions
 
 The test verifies the proper Protobuf serialization and deserialization of 
Protobuf.
 
-The test uses two Pipes that interact with each other. The first binding 
`protobuf-binary-source-pipe` periodically creates a test data event as Json 
and applies the `protobuf/binary` data type using the schema in 
[User.proto](User.proto). 
+The test uses two routes that interact with each other. The first route 
`protobuf-binary-source-route` periodically creates a test data event as Json 
and applies the `protobuf/binary` data type using the schema in 
[User.proto](User.proto). 
 
-The binary Protobuf data is then sent to a Http webhook sink that references a 
Http endpoint that is provided by the 2nd binding `protobuf-deserialize-pipe`. 
The `protobuf-deserialize-pipe` binding provides the Http service and 
deserializes the binary Protobuf data using the same User schema. The 
deserialized data is printed to the log output.
+The binary Protobuf data is then sent to a Http webhook sink that references a 
Http endpoint that is provided by the 2nd route `protobuf-deserialize-route`. 
The `protobuf-deserialize-route` route provides the Http service and 
deserializes the binary Protobuf data using the same User schema. The 
deserialized data is printed to the log output.
 
-The test starts both Pipes and is able to verify the proper log output as an 
expected outcome.
+The test starts both routes and is able to verify the proper log output as an 
expected outcome.
 
 ### Citrus Test
 
@@ -18,9 +18,9 @@ The test performs the following high level steps:
 
 *Protobuf data type feature*
 - Create test data based on the User.proto Protobuf schema
-- Load and run the `protobuf-deserialize-pipe` Pipe
-- Load and run the `protobuf-binary-source-pipe` Pipe
-- Verify that the bindings do interact with each other and the proper test 
data is logged in the binding output
+- Load and run the `protobuf-deserialize-route` route
+- Load and run the `protobuf-binary-source-route` route
+- Verify that the routes do interact with each other and the proper test data 
is logged in the route output
 
 ## Installation
 
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-binary-source-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-binary-source-pipe.yaml
deleted file mode 100644
index 7d2c4b592..000000000
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-binary-source-pipe.yaml
+++ /dev/null
@@ -1,60 +0,0 @@
-# ---------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-binary-source-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: timer-source
-    properties:
-      period: 10000
-      contentType: application/json
-      message: >
-        {{input}}
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: json-deserialize-action
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: resolve-pojo-schema-action
-      properties:
-        mimeType: "protobuf/binary"
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: data-type-action
-      properties:
-        format: "protobuf-binary"
-  sink:
-    uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-binary-source-route.yaml
similarity index 52%
copy from 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
copy to 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-binary-source-route.yaml
index 436cbc8f9..d4f591161 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-binary-source-route.yaml
@@ -15,37 +15,31 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-deserialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 10000
+        contentType: application/json
+        message: >
+          {{input}}
+      steps:
+        - to:
+            uri: "kamelet:json-deserialize-action"
+        - to:
+            uri: "kamelet:resolve-pojo-schema-action"
+            parameters:
+              mimeType: protobuf/binary
+              schema: >
+                syntax = "proto3"; package demo.kamelets; message User {
+                   optional string id=1;
+                   optional string firstname=2;
+                   optional string lastname=3;
+                   optional int32 age=4;
+                }
+        - to:
+            uri: "kamelet:data-type-action"
+            parameters:
+              format: protobuf-binary
+        - to:
+            uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-data-type.citrus.it.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-data-type.citrus.it.yaml
index 7e78039fe..20cbd347b 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-data-type.citrus.it.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-data-type.citrus.it.yaml
@@ -27,12 +27,12 @@ actions:
             - "--port"
             - "${protobuf.webhook.server.port}"
           integration:
-            file: "protobuf/protobuf-x-struct-sink-pipe.yaml"
+            file: "protobuf/protobuf-x-struct-sink-route.yaml"
   - camel:
       cli:
         run:
           integration:
-            file: "protobuf/protobuf-binary-source-pipe.yaml"
+            file: "protobuf/protobuf-binary-source-route.yaml"
             systemProperties:
               properties:
                 - name: "http.sink.url"
@@ -43,6 +43,6 @@ actions:
   - camel:
       cli:
         verify:
-          integration: "protobuf-x-struct-sink-pipe"
+          integration: "protobuf-x-struct-sink-route"
           logMessage: |
             Body: {  "id" : "${uuid}",  "firstname" : "Sheldon",  "lastname" : 
"Cooper",  "age" : 28}
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-pipe.yaml 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-route.yaml
similarity index 55%
rename from 
tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-pipe.yaml
rename to 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-route.yaml
index 492cfde85..183bdd0c8 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/avro/avro-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-route.yaml
@@ -15,30 +15,23 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: avro-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: avro-deserialize-action
-      properties:
-        schema: >
-          { "name": "User", "type": "record", "namespace": "demo.kamelets", 
"fields": [{ "name": "id", "type": "string" }, { "name": "firstname", "type": 
"string" }, { "name": "lastname", "type": "string" }, { "name": "age", "type": 
"int" }] }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      parameters:
+        subpath: user
+      steps:
+        - to:
+            uri: "kamelet:protobuf-deserialize-action"
+            parameters:
+              schema: >
+                syntax = "proto3"; package demo.kamelets; message User {
+                   optional string id=1;
+                   optional string firstname=2;
+                   optional string lastname=3;
+                   optional int32 age=4;
+                }
+        - to:
+            uri: "kamelet:log-action"
+            parameters:
+              showHeaders: true
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serdes-action.citrus.it.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serdes-action.citrus.it.yaml
index 6196fab30..5e2b4a258 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serdes-action.citrus.it.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serdes-action.citrus.it.yaml
@@ -27,12 +27,12 @@ actions:
             - "--port"
             - "${protobuf.webhook.server.port}"
           integration:
-            file: "protobuf/protobuf-deserialize-pipe.yaml"
+            file: "protobuf/protobuf-deserialize-route.yaml"
   - camel:
       cli:
         run:
           integration:
-            file: "protobuf/protobuf-serialize-pipe.yaml"
+            file: "protobuf/protobuf-serialize-route.yaml"
             systemProperties:
               properties:
                 - name: "http.sink.url"
@@ -43,6 +43,6 @@ actions:
   - camel:
       cli:
         verify:
-          integration: "protobuf-deserialize-pipe"
+          integration: "protobuf-deserialize-route"
           logMessage: |
             Body: {  "id" : "${uuid}",  "firstname" : "Sheldon",  "lastname" : 
"Cooper",  "age" : 28}
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serialize-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serialize-pipe.yaml
deleted file mode 100644
index 1c28b5d83..000000000
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serialize-pipe.yaml
+++ /dev/null
@@ -1,59 +0,0 @@
-# ---------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-serialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: timer-source
-    properties:
-      period: 10000
-      contentType: application/json
-      message: >
-        {{input}}
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: json-deserialize-action
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-serialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: log-action
-      properties:
-        showHeaders: true
-  sink:
-    uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serialize-route.yaml
similarity index 54%
copy from 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
copy to 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serialize-route.yaml
index 436cbc8f9..ff44bea8d 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-serialize-route.yaml
@@ -15,37 +15,30 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-deserialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        period: 10000
+        contentType: application/json
+        message: >
+          {{input}}
+      steps:
+        - to:
+            uri: "kamelet:json-deserialize-action"
+        - to:
+            uri: "kamelet:protobuf-serialize-action"
+            parameters:
+              schema: >
+                syntax = "proto3"; package demo.kamelets; message User {
+                   optional string id=1;
+                   optional string firstname=2;
+                   optional string lastname=3;
+                   optional int32 age=4;
+                }
+        - to:
+            uri: "kamelet:log-action"
+            parameters:
+              showHeaders: true
+        - to:
+            uri: "{{http.sink.url}}"
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-x-struct-sink-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-x-struct-sink-pipe.yaml
deleted file mode 100644
index 50234e5d0..000000000
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-x-struct-sink-pipe.yaml
+++ /dev/null
@@ -1,64 +0,0 @@
-# ---------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You 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.
-# ---------------------------------------------------------------------------
-
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-x-struct-sink-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: data-type-action
-      properties:
-        format: "application-octet-stream"
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: resolve-pojo-schema-action
-      properties:
-        mimeType: "protobuf/binary"
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: data-type-action
-      properties:
-        format: "protobuf-x-struct"
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
diff --git 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-x-struct-sink-route.yaml
similarity index 51%
rename from 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
rename to 
tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-x-struct-sink-route.yaml
index 436cbc8f9..d2eee31b7 100644
--- 
a/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-deserialize-pipe.yaml
+++ 
b/tests/camel-kamelets-itest/src/test/resources/protobuf/protobuf-x-struct-sink-route.yaml
@@ -15,37 +15,32 @@
 # limitations under the License.
 # ---------------------------------------------------------------------------
 
-apiVersion: camel.apache.org/v1
-kind: Pipe
-metadata:
-  name: protobuf-deserialize-pipe
-spec:
-  source:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: webhook-source
-    properties:
-      subpath: user
-  steps:
-    - ref:
-        kind: Kamelet
-        apiVersion: camel.apache.org/v1
-        name: protobuf-deserialize-action
-      properties:
-        schema: >
-          syntax = "proto3";
-          package demo.kamelets;
-          message User {
-             optional string id=1;
-             optional string firstname=2;
-             optional string lastname=3;
-             optional int32 age=4;
-          }
-  sink:
-    ref:
-      kind: Kamelet
-      apiVersion: camel.apache.org/v1
-      name: log-action
-    properties:
-      showHeaders: true
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      parameters:
+        subpath: user
+      steps:
+        - to:
+            uri: "kamelet:data-type-action"
+            parameters:
+              format: application-octet-stream
+        - to:
+            uri: "kamelet:resolve-pojo-schema-action"
+            parameters:
+              mimeType: protobuf/binary
+              schema: >
+                syntax = "proto3"; package demo.kamelets; message User {
+                   optional string id=1;
+                   optional string firstname=2;
+                   optional string lastname=3;
+                   optional int32 age=4;
+                }
+        - to:
+            uri: "kamelet:data-type-action"
+            parameters:
+              format: protobuf-x-struct
+        - to:
+            uri: "kamelet:log-action"
+            parameters:
+              showHeaders: true

Reply via email to