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 <[email protected]> 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
