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