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

[camel-karavan] 02/02: Fix #869

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

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

commit 1aa88167402d86fe87083c1664746118011cd8a1
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Mon Aug 28 19:18:54 2023 -0400

    Fix #869
---
 karavan-core/src/core/api/ComponentApi.ts |  3 +++
 karavan-core/test/tod.spec.ts             | 15 ++++----------
 karavan-core/test/tod.yaml                | 34 ++++++-------------------------
 3 files changed, 13 insertions(+), 39 deletions(-)

diff --git a/karavan-core/src/core/api/ComponentApi.ts b/karavan-core/src/core/api/ComponentApi.ts
index 60c035fd..5e4f372a 100644
--- a/karavan-core/src/core/api/ComponentApi.ts
+++ b/karavan-core/src/core/api/ComponentApi.ts
@@ -112,6 +112,9 @@ export class ComponentApi {
     };
 
     static parseElementUri(def: any): any {
+        if (def.dslName === 'ToDynamicDefinition') {
+            return def;
+        }
         const uriParts = ComponentApi.parseUri(def.uri);
         if (uriParts.length > 1 && !def.uri.startsWith('kamelet:')) {
             const uriValues = ComponentApi.getUriParts(def.uri);
diff --git a/karavan-core/test/tod.spec.ts b/karavan-core/test/tod.spec.ts
index a1fb9a9a..f2330935 100644
--- a/karavan-core/test/tod.spec.ts
+++ b/karavan-core/test/tod.spec.ts
@@ -20,19 +20,12 @@ import 'mocha';
 import {CamelDefinitionYaml} from "../src/core/api/CamelDefinitionYaml";
 
 
-describe('Plain YAML with route to integration', () => {
+describe('ToDynamicDefinition', () => {
 
-    it('YAML <-> Object', () => {
-        const yaml = fs.readFileSync('test/routes1.yaml',{encoding:'utf8', flag:'r'});
+    it('ToDynamicDefinition URI', () => {
+        const yaml = fs.readFileSync('test/tod.yaml',{encoding:'utf8', flag:'r'});
         const i = CamelDefinitionYaml.yamlToIntegration("test1.yaml", yaml);
-        expect(i.metadata.name).to.equal('test1.yaml');
-        expect(i.kind).to.equal('Integration');
-        expect(i.spec.flows?.length).to.equal(1);
-        expect(i.type).to.equal('plain');
-        if (i.spec.flows) expect(i.spec.flows[0].from.uri).to.equal('timer');
-        if (i.spec.flows) expect(i.spec.flows[0].from.parameters.name).to.equal('info');
-        const yaml2 = CamelDefinitionYaml.integrationToYaml(i);
-        expect(yaml.replaceAll("\r\n", "\n")).to.equal(yaml2); // replace for Windows compatibility
+        expect(i.spec.flows?.[0].from.steps[0].uri, 'kafka:${header.foo}')
     });
 
 });
diff --git a/karavan-core/test/tod.yaml b/karavan-core/test/tod.yaml
index 784cb8f4..5f6cbf8a 100644
--- a/karavan-core/test/tod.yaml
+++ b/karavan-core/test/tod.yaml
@@ -1,31 +1,9 @@
 - route:
-    id: route-ea82
+    id: route-f435
     from:
-      uri: timer
-      id: from-1
-      parameters:
-        name: info
+      uri: kamelet:timer-source
+      id: from-e52c
       steps:
-        - choice:
-            when:
-              - expression:
-                  simple:
-                    expression: ${headers} != null
-                    id: simple-1
-                id: when-1
-                steps:
-                  - log:
-                      message: hello11
-                      logName: log11
-                      id: log-1
-              - expression:
-                  simple:
-                    expression: ${headers} == null
-                    id: simple-2
-                id: when-2
-                steps:
-                  - log:
-                      message: hello22s
-                      logName: log22
-                      id: log-2
-            id: choice-1
+        - toD:
+            uri: kafka:${header.foo}
+            id: toD-0d39
\ No newline at end of file