From 1c1cbbf6df7f30ecb807a0a09924072a59bd2071 Mon Sep 17 00:00:00 2001 From: LeoQi Date: Fri, 20 Jul 2018 02:43:38 +0800 Subject: parser script and step class in backend code of testing-scheduler JIRA: BOTTLENECK-234 add the main parse function and base classes of step. Change-Id: Id7554ed065ada84f23b3ca498ffb89c1127850b5 Signed-off-by: Zheng Qibin --- .../server/test/test_case/logic/tc_logic_00.yaml | 30 ++++++ .../server/test/test_case/logic/tc_logic_01.yaml | 73 +++++++++++++ .../server/test/test_case/logic/tc_logic_02.yaml | 71 +++++++++++++ .../server/test/test_case/logic/tc_logic_03.yaml | 86 ++++++++++++++++ .../server/test/test_case/logic/tc_logic_04.yaml | 70 +++++++++++++ .../server/test/test_case/logic/tc_logic_05.yaml | 100 ++++++++++++++++++ .../server/test/test_case/logic/tc_logic_06.yaml | 80 +++++++++++++++ .../server/test/test_case/logic/tc_logic_07.yaml | 100 ++++++++++++++++++ .../server/test/test_case/logic/tc_logic_08.yaml | 114 +++++++++++++++++++++ .../test/test_case/logic_in_out/tc_cxt_01.yaml | 47 +++++++++ .../test/test_case/logic_in_out/tc_io_01.yaml | 63 ++++++++++++ .../test/test_case/logic_in_out/tc_io_02.yaml | 60 +++++++++++ .../test/test_case/suite_test/tc_suitetest_00.yaml | 27 +++++ .../test/test_case/suite_test/tc_suitetest_01.yaml | 27 +++++ .../test/test_case/suite_test/tc_suitetest_02.yaml | 27 +++++ 15 files changed, 975 insertions(+) create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_00.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_01.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_02.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_03.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_04.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_05.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_06.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_07.yaml create mode 100644 testing-scheduler/server/test/test_case/logic/tc_logic_08.yaml create mode 100644 testing-scheduler/server/test/test_case/logic_in_out/tc_cxt_01.yaml create mode 100644 testing-scheduler/server/test/test_case/logic_in_out/tc_io_01.yaml create mode 100644 testing-scheduler/server/test/test_case/logic_in_out/tc_io_02.yaml create mode 100644 testing-scheduler/server/test/test_case/suite_test/tc_suitetest_00.yaml create mode 100644 testing-scheduler/server/test/test_case/suite_test/tc_suitetest_01.yaml create mode 100644 testing-scheduler/server/test/test_case/suite_test/tc_suitetest_02.yaml (limited to 'testing-scheduler/server/test/test_case') diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_00.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_00.yaml new file mode 100644 index 00000000..6a4eeea9 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_00.yaml @@ -0,0 +1,30 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic +# this testcase contains a single step for scheduling. + +schema: + steps: + - + id: 1 + name: make_a_greet + service: + name: greet + interface: greet + args: + name: leo + flows: + - + name: main + orders: + - + type: normal + step: 1 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_01.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_01.yaml new file mode 100644 index 00000000..3f8f4f41 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_01.yaml @@ -0,0 +1,73 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic +# 5 steps while only 2 in them will be executed. + +schema: + steps: + - + id: 1 + name: make_a_greet + service: + name: greet + interface: greet + args: + name: leo + + - + id: 2 + name: response_the_greet + service: + name: greet + interface: answer + args: + ping: ping_from_leo + + - + id: 3 + name: make_a_greet_3 + service: + name: greet + interface: greet + args: + name: leo_@ + + - + id: 4 + name: make_a_greet_4 + service: + name: greet + interface: greet + args: + name: leo_@ + + - + id: 5 + name: make_a_greet_5 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: normal + step: 2 diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_02.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_02.yaml new file mode 100644 index 00000000..ce7197d1 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_02.yaml @@ -0,0 +1,71 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic of switch +# switch will determine the next case to execute based +# on the "value", and "value" can be assigned by the +# previous step's output. +# The testcase below is an example. +# To referring the step's output, using ((x.y)). +# x is the id of the step, +# y is the output key of the step. + +schema: + steps: + - + id: 1 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 2 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 3 + name: make_a_greet_2 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: switch + value: ((1.result)) + cases: + A: + - + type: normal + step: 2 + B: + - + type: normal + step: 3 diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_03.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_03.yaml new file mode 100644 index 00000000..2cb89430 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_03.yaml @@ -0,0 +1,86 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test useless sub workflow +# In this testcase, there is a subflow whose name +# is 'flow-1' which will not be executed because no +# other flow refers to it. +# This testcase is used to test that besides main flow, +# whether subflow can be parsed without exception. + +schema: + steps: + - + id: 1 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 2 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 3 + name: make_a_greet_2 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + - + id: 4 + name: make_a_greet_3 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: switch + value: ((1.result)) + cases: + A: + - + type: normal + step: 2 + B: + - + type: normal + step: 3 + - + name: flow-1 + orders: + - + type: normal + step: 4 diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_04.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_04.yaml new file mode 100644 index 00000000..67847ff3 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_04.yaml @@ -0,0 +1,70 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic of sub flow. + +schema: + steps: + - + id: 1 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 2 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 3 + name: make_a_greet_2 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: switch + value: ((1.result)) + cases: + A: flow-1 + B: flow-2 + - + name: flow-1 + orders: + - + type: normal + step: 2 + - + name: flow-2 + orders: + - + type: normal + step: 3 diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_05.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_05.yaml new file mode 100644 index 00000000..ac0f81c9 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_05.yaml @@ -0,0 +1,100 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic of switch. +# switch nested in switch by using subflow. + +schema: + steps: + - + id: 1 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 2 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 3 + name: choose_greet_type_2 + type: test + service: + name: greet + interface: switch_2 + action: start + + - + id: 4 + name: make_a_greet + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + - + id: 5 + name: response_the_greet_2 + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo_2 + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: switch + value: ((1.result)) + cases: + A: + - + type: normal + step: 2 + B: flow-1 + - + name: flow-1 + orders: + - + type: normal + step: 3 + - + type: switch + value: ((3.result)) + cases: + C: + - + type: normal + step: 4 + D: + - + type: normal + step: 5 diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_06.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_06.yaml new file mode 100644 index 00000000..7c14d012 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_06.yaml @@ -0,0 +1,80 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic of parallel + +schema: + steps: + - + id: 1 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 2 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 3 + name: make_a_greet + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + - + id: 4 + name: make_a_greet_2 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: parallel + parallel: + p1: flow-1 + p2: + - + type: normal + step: 4 + - + name: flow-1 + orders: + - + type: normal + step: 2 + - + type: normal + step: 3 diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_07.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_07.yaml new file mode 100644 index 00000000..5fa71227 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_07.yaml @@ -0,0 +1,100 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic of parallel + switch + +schema: + steps: + - + id: 1 + name: make_a_greet + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + - + id: 2 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 3 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 4 + name: make_a_greet + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + - + id: 5 + name: make_a_greet_2 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: parallel + parallel: + p1: flow-1 + p2: + - + type: normal + step: 5 + - + name: flow-1 + orders: + - + type: normal + step: 2 + - + type: switch + value: ((2.result)) + cases: + A: + - + type: normal + step: 3 + B: + - + type: normal + step: 4 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/logic/tc_logic_08.yaml b/testing-scheduler/server/test/test_case/logic/tc_logic_08.yaml new file mode 100644 index 00000000..e5da14f2 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic/tc_logic_08.yaml @@ -0,0 +1,114 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test conductor basic logic of parallel. +# parallel nested in parallel using subflow + +schema: + steps: + - + id: 1 + name: make_a_greet + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + - + id: 2 + name: choose_greet_type + type: test + service: + name: greet + interface: switch + action: start + + - + id: 3 + name: response_the_greet + type: test + service: + name: greet + interface: answer + action: start + args: + ping: ping_from_leo + + - + id: 4 + name: make_a_greet + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + - + id: 5 + name: make_a_greet_2 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + - + id: 6 + name: make_a_greet_3 + type: test + service: + name: greet + interface: greet + action: start + args: + name: leo_@ + + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: parallel + parallel: + p1: flow-p1 + p2: + - + type: normal + step: 6 + - + name: flow-p1 + orders: + - + type: normal + step: 2 + - + type: parallel + parallel: + p1: + - + type: normal + step: 3 + p2: + - + type: normal + step: 4 + - + type: normal + step: 5 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/logic_in_out/tc_cxt_01.yaml b/testing-scheduler/server/test/test_case/logic_in_out/tc_cxt_01.yaml new file mode 100644 index 00000000..583bc1c3 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic_in_out/tc_cxt_01.yaml @@ -0,0 +1,47 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test use param of the context +# we can using the context param just like environment variable by +# writting ((context.a.b.c)). +# 'context' is a constant string, +# a, b, c is the key in the context yaml file (src/env/context/context.yaml). + +schema: + steps: + - + id: 1 + name: make_a_greet + service: + name: greet + interface: greet + args: + name: leo + + - + id: 2 + name: response_the_greet + service: + name: greet + interface: answer + args: + ping: ((context.sprout.name)) + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: normal + step: 2 + context: clearwater-conf.yaml diff --git a/testing-scheduler/server/test/test_case/logic_in_out/tc_io_01.yaml b/testing-scheduler/server/test/test_case/logic_in_out/tc_io_01.yaml new file mode 100644 index 00000000..b5ce203f --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic_in_out/tc_io_01.yaml @@ -0,0 +1,63 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test switch value used step-1's output. +# to referring the step's output, using ((x.y)). +# x is the id of the step, +# y is the output key of the step. + +schema: + steps: + - + id: 1 + name: get-switch + service: + name: greet + interface: switch + args: + name: leo + + - + id: 2 + name: greet1 + service: + name: greet + interface: answer + args: + ping: ping_from_Leo + + - + id: 3 + name: greet2 + service: + name: greet + interface: answer + args: + ping: ping_from_Leo_2 + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: switch + value: ((1.result)) + cases: + A: + - + type: normal + step: 2 + B: + - + type: normal + step: 3 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/logic_in_out/tc_io_02.yaml b/testing-scheduler/server/test/test_case/logic_in_out/tc_io_02.yaml new file mode 100644 index 00000000..804a6791 --- /dev/null +++ b/testing-scheduler/server/test/test_case/logic_in_out/tc_io_02.yaml @@ -0,0 +1,60 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +# description: test switch and step-2 used step-1's output + +schema: + steps: + - + id: 1 + name: get-switch + service: + name: greet + interface: switch + args: + name: leo + + - + id: 2 + name: greet1 + service: + name: greet + interface: answer + args: + ping: ((1.result)) + + - + id: 3 + name: greet2 + service: + name: greet + interface: answer + args: + ping: ping_from_Leo_2 + + flows: + - + name: main + orders: + - + type: normal + step: 1 + - + type: switch + value: ((1.result)) + cases: + A: + - + type: normal + step: 2 + B: + - + type: normal + step: 3 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_00.yaml b/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_00.yaml new file mode 100644 index 00000000..06f8c4ef --- /dev/null +++ b/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_00.yaml @@ -0,0 +1,27 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +schema: + steps: + - + id: 1 + name: suitetest_00 + service: + name: greet + interface: ten + args: + name: leo + flows: + - + name: main + orders: + - + type: normal + step: 1 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_01.yaml b/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_01.yaml new file mode 100644 index 00000000..0189e7af --- /dev/null +++ b/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_01.yaml @@ -0,0 +1,27 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +schema: + steps: + - + id: 1 + name: suitetest_01 + service: + name: greet + interface: ten + args: + name: leo + flows: + - + name: main + orders: + - + type: normal + step: 1 \ No newline at end of file diff --git a/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_02.yaml b/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_02.yaml new file mode 100644 index 00000000..bc689248 --- /dev/null +++ b/testing-scheduler/server/test/test_case/suite_test/tc_suitetest_02.yaml @@ -0,0 +1,27 @@ +############################################################################## +# Copyright (c) 2018 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- +schema: + steps: + - + id: 1 + name: suitetest_01 + service: + name: greet + interface: greet + args: + name: leo + flows: + - + name: main + orders: + - + type: normal + step: 1 \ No newline at end of file -- cgit 1.2.3-korg