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 c3b8329329ca79a0a6c0474af0fa676926414ec4 Author: Marat Gubaidullin <[email protected]> AuthorDate: Mon Aug 28 19:18:48 2023 -0400 Fix #869 --- karavan-core/test/tod.spec.ts | 38 ++++++++++++++++++++++++++++++++++++++ karavan-core/test/tod.yaml | 31 +++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) diff --git a/karavan-core/test/tod.spec.ts b/karavan-core/test/tod.spec.ts new file mode 100644 index 00000000..a1fb9a9a --- /dev/null +++ b/karavan-core/test/tod.spec.ts @@ -0,0 +1,38 @@ +/* + * 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. + */ +import {expect} from 'chai'; +import * as fs from 'fs'; +import 'mocha'; +import {CamelDefinitionYaml} from "../src/core/api/CamelDefinitionYaml"; + + +describe('Plain YAML with route to integration', () => { + + it('YAML <-> Object', () => { + const yaml = fs.readFileSync('test/routes1.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 + }); + +}); diff --git a/karavan-core/test/tod.yaml b/karavan-core/test/tod.yaml new file mode 100644 index 00000000..784cb8f4 --- /dev/null +++ b/karavan-core/test/tod.yaml @@ -0,0 +1,31 @@ +- route: + id: route-ea82 + from: + uri: timer + id: from-1 + parameters: + name: info + 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
