From fc9a8346809137810f9c85a232191d4edb7c9fb3 Mon Sep 17 00:00:00 2001 From: Moshe Date: Wed, 4 Jul 2018 09:10:44 +0300 Subject: resources are located by logical path Issue-ID: VNFSDK-275 Change-Id: I2a8a5430634d5a12a58fbd5cd85511ccce53518a Signed-off-by: Moshe fix tests Issue-ID: VNFSDK-275 Change-Id: I20f48139b2cae3b57959a33739f34e811c2ffe38 Signed-off-by: Moshe --- vnftest/__init__.py | 1 - vnftest/common/constants.py | 9 +- vnftest/common/utils.py | 8 +- vnftest/core/testcase.py | 4 +- vnftest/test_config/__init__.py | 0 vnftest/test_config/onap/__init__.py | 0 vnftest/test_config/onap/test_cases/__init__.py | 0 .../onap/test_cases/onap_vnftest_tc001.yaml | 374 +++++++++++++++++++++ .../onap/test_cases/onap_vnftest_tc002.yaml | 363 ++++++++++++++++++++ .../onap/test_cases/onap_vnftest_tc003.yaml | 95 ++++++ vnftest/test_config/onap/test_suites/__init__.py | 0 .../onap/test_suites/onap_basic_lifecycle.yaml | 26 ++ .../core/no_constraint_no_args_step_sample.yaml | 1 - .../core/no_constraint_with_args_step_sample.yaml | 4 +- .../core/with_constraint_no_args_step_sample.yaml | 5 +- .../with_constraint_with_args_step_sample.yaml | 5 +- 16 files changed, 877 insertions(+), 18 deletions(-) create mode 100644 vnftest/test_config/__init__.py create mode 100644 vnftest/test_config/onap/__init__.py create mode 100644 vnftest/test_config/onap/test_cases/__init__.py create mode 100644 vnftest/test_config/onap/test_cases/onap_vnftest_tc001.yaml create mode 100644 vnftest/test_config/onap/test_cases/onap_vnftest_tc002.yaml create mode 100644 vnftest/test_config/onap/test_cases/onap_vnftest_tc003.yaml create mode 100644 vnftest/test_config/onap/test_suites/__init__.py create mode 100644 vnftest/test_config/onap/test_suites/onap_basic_lifecycle.yaml (limited to 'vnftest') diff --git a/vnftest/__init__.py b/vnftest/__init__.py index 9ce7a86..6456fc1 100644 --- a/vnftest/__init__.py +++ b/vnftest/__init__.py @@ -61,7 +61,6 @@ def _init_logging(): logging.root.addHandler(_LOG_FILE_HDLR) logging.debug("logging.root.handlers = %s", logging.root.handlers) - utils.import_modules_from_package("vnftest.contexts") utils.import_modules_from_package("vnftest.runners") utils.import_modules_from_package("vnftest.steps") diff --git a/vnftest/common/constants.py b/vnftest/common/constants.py index 8bbe070..46db92c 100644 --- a/vnftest/common/constants.py +++ b/vnftest/common/constants.py @@ -29,13 +29,10 @@ from vnftest.common.yaml_loader import yaml_load dirname = os.path.dirname abspath = os.path.abspath join = os.path.join -sep = os.path.sep CONF = {} CONF_FILE = None -VNFTEST_ROOT_PATH = dirname( - dirname(abspath(pkg_resources.resource_filename(__name__, "")))) + sep - +VNFTEST_ROOT_PATH = os.environ.get('VNFTEST_ROOT_PATH', dirname(dirname(abspath(pkg_resources.resource_filename(__name__, "")))) + os.path.sep) def get_param(key, default=''): # don't re-parse yaml for each lookup @@ -93,8 +90,8 @@ LOG_DIR = get_param('dir.log', join(VNFTEST_ROOT_PATH, 'tmp/vnftest/')) TASK_LOG_DIR = get_param('dir.tasklog', join(VNFTEST_ROOT_PATH, 'var/log/vnftest/')) CONF_SAMPLE_DIR = join(REPOS_DIR, 'etc/vnftest/') SAMPLE_CASE_DIR = join(REPOS_DIR, 'samples') -TESTCASE_DIR = join(VNFTEST_ROOT_PATH, 'tests/onap/test_cases/') -TESTSUITE_DIR = join(VNFTEST_ROOT_PATH, 'tests/onap/test_suites/') +TESTCASE_DIR = join(VNFTEST_ROOT_PATH, 'vnftest/test_config/onap/test_cases/') +TESTSUITE_DIR = join(VNFTEST_ROOT_PATH, 'vnftest/test_config/onap/test_suites/') # file DEFAULT_OUTPUT_FILE = get_param('file.output_file', join(VNFTEST_ROOT_PATH, 'tmp/vnftest.out')) diff --git a/vnftest/common/utils.py b/vnftest/common/utils.py index 406796d..10edc05 100644 --- a/vnftest/common/utils.py +++ b/vnftest/common/utils.py @@ -514,6 +514,7 @@ def load_resource(path): def format(st, params): if not isinstance(st, basestring): return st + dotdict(params) ret_str = "" ret_obj = None for literal_text, field_name, format_spec, conversion in \ @@ -522,7 +523,12 @@ def format(st, params): ret_str = ret_str + literal_text else: dict = ret_obj or params - value = dict[field_name] + try: + value = dict[field_name] + except KeyError: + dict = dotdict(dict) + field_name = '{' + field_name + '}' + value = field_name.format(**dict) if isinstance(value, basestring): ret_str = ret_str + value else: diff --git a/vnftest/core/testcase.py b/vnftest/core/testcase.py index ea07243..2cb22ec 100644 --- a/vnftest/core/testcase.py +++ b/vnftest/core/testcase.py @@ -18,6 +18,8 @@ from __future__ import absolute_import from __future__ import print_function +import fnmatch + import os import logging @@ -44,7 +46,7 @@ class Testcase(object): def _get_testcase_file_list(self): try: - testcase_files = sorted(os.listdir(consts.TESTCASE_DIR)) + testcase_files = sorted(fnmatch.filter(os.listdir(consts.TESTCASE_DIR), '*.yaml')) except OSError: LOG.exception('Failed to list dir:\n%s\n', consts.TESTCASE_DIR) raise diff --git a/vnftest/test_config/__init__.py b/vnftest/test_config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vnftest/test_config/onap/__init__.py b/vnftest/test_config/onap/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vnftest/test_config/onap/test_cases/__init__.py b/vnftest/test_config/onap/test_cases/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vnftest/test_config/onap/test_cases/onap_vnftest_tc001.yaml b/vnftest/test_config/onap/test_cases/onap_vnftest_tc001.yaml new file mode 100644 index 0000000..882d172 --- /dev/null +++ b/vnftest/test_config/onap/test_cases/onap_vnftest_tc001.yaml @@ -0,0 +1,374 @@ +############################################################################## +# Copyright 2018 EuropeanSoftwareMarketingLtd. +# =================================================================== +# Licensed under the ApacheLicense, Version2.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 +# +# 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 +############################################################################## + +--- +schema: "vnftest:task:0.1" +description: > + Vnftest TC001 config file; + Onboard VNF package to SDC +{% set rnd = range(10000)|random %} +{% set vsp_name = vsp_name or ['test_vsp_', rnd ]|join %} +{% set vendor_name = vendor_name or ['test_vendor_', rnd ]|join %} +{% set service_name = service_name or ['test_service_', rnd ]|join %} +{% set resource_instance_name = resource_instance_name or ["test_resource_instance_", rnd ]|join %} +{% set resource_instance_unique_id = resource_instance_unique_id or ['\"\u007Bresource_version_id\u007D_', rnd, '\"']|join %} +steps: +- + type: OnapApiCall + options: + file: "onap/onboard/create_vlm.yaml" + input: + - + parameter_name: "vendor_name" + value: {{vendor_name}} + output: + - + parameter_name: "vendor_id" + value: "[value]" + runner: + type: Iteration + run_step: "setup,run" +- + type: OnapApiCall + options: + file: "onap/onboard/checkin_vlm.yaml" + input: + - + parameter_name: "vendor_id" + value: "{vendor_id}" + runner: + type: Iteration + run_step: "setup,run" +- + type: OnapApiCall + options: + file: "onap/onboard/submit_vlm.yaml" + input: + - + parameter_name: "vendor_id" + value: "{vendor_id}" + runner: + type: Iteration + run_step: "setup,run" +- + type: OnapApiCall + options: + file: "onap/onboard/create_vsp.yaml" + input: + - + parameter_name: "vendor_id" + value: "{vendor_id}" + - + parameter_name: "vsp_name" + value: {{vsp_name}} + output: + - + parameter_name: "vsp_id" + value: "[vspId]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/upload_package.yaml" + input: + - + parameter_name: "vsp_id" + value: "{vsp_id}" + - + parameter_name: "package_file_path" + value: "{context.vnf_descriptor.package_location}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/process_package.yaml" + input: + - + parameter_name: "vsp_id" + value: "{vsp_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/checkin_vsp.yaml" + input: + - + parameter_name: "vsp_id" + value: "{vsp_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/submit_vsp.yaml" + input: + - + parameter_name: "vsp_id" + value: "{vsp_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/create_package_vsp.yaml" + input: + - + parameter_name: "vsp_id" + value: "{vsp_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/import_vsp.yaml" + input: + - + parameter_name: "vsp_name" + value: {{vsp_name}} + - + parameter_name: "vsp_id" + value: "{vsp_id}" + output: + - + parameter_name: "resource_id" + value: "[uniqueId]" + + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/submit_resource_for_testing.yaml" + input: + - + parameter_name: "resource_id" + value: "{resource_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/start_resource_test.yaml" + input: + - + parameter_name: "resource_id" + value: "{resource_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/accept_resource_test.yaml" + input: + - + parameter_name: "resource_id" + value: "{resource_id}" + output: + - + parameter_name: "resource_version_id" + value: "[allVersions][1.0]" + - + parameter_name: "resource_model_invariant_id" + value: "[invariantUUID]" + - + parameter_name: "resource_model_version_id" + value: "[uuid]" + - + parameter_name: "resource_model_name" + value: "[name]" + - + parameter_name: "resource_model_version" + value: "[version]" + + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/add_service.yaml" + input: + - + parameter_name: "service_name" + value: {{service_name}} + output: + - + parameter_name: "sdc_service_id" + value: "[uniqueId]" + - + parameter_name: "service_model_name" + value: "[name]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/add_resource_instance.yaml" + input: + - + parameter_name: "resource_instance_unique_id" + value: {{resource_instance_unique_id}} + - + parameter_name: "resource_instance_name" + value: {{resource_instance_name}} + - + parameter_name: "sdc_service_id" + value: "{sdc_service_id}" + - + parameter_name: "resource_version_id" + value: "{resource_version_id}" + output: + - + parameter_name: "resource_model_customization_id" + value: "[customizationUUID]" + - + parameter_name: "resource_model_customization_name" + value: "[normalizedName]" + - + parameter_name: "resource_instance_model_name" + value: "[name]" + + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/submit_service_for_testing.yaml" + input: + - + parameter_name: "sdc_service_id" + value: "{sdc_service_id}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/start_service_test.yaml" + input: + - + parameter_name: "sdc_service_id" + value: "{sdc_service_id}" + runner: + type: Iteration + run_step: "setup,run" +- + type: OnapApiCall + options: + file: "onap/onboard/accept_service_test.yaml" + input: + - + parameter_name: "sdc_service_id" + value: "{sdc_service_id}" + output: + - + parameter_name: "service_version_id" + value: "[allVersions][1.0]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/onboard/approve_distribution.yaml" + input: + - + parameter_name: "service_version_id" + value: "{service_version_id}" + runner: + type: Iteration + run_step: "setup,run" +- + type: OnapApiCall + options: + file: "onap/onboard/distribute.yaml" + input: + - + parameter_name: "service_version_id" + value: "{service_version_id}" + output: + - + parameter_name: "distributed_service_id" + value: "[uuid]" + - + parameter_name: "service_model_invariant_id" + value: "[invariantUUID]" + - + parameter_name: "service_model_version_id" + value: "[uuid]" + - + parameter_name: "service_model_normalized_name" + value: "[normalizedName]" + - + parameter_name: "service_model_name" + value: "[name]" + - + parameter_name: "service_model_version" + value: "[version]" + - + parameter_name: "vf_modules_list" + type: VfModuleCrawler + + runner: + type: Iteration + run_step: "setup,run" +- + type: OnapApiCall + options: + file: "onap/onboard/monitor_distribution.yaml" + input: + - + parameter_name: "distributed_service_id" + value: "{distributed_service_id}" + output: + - + parameter_name: "distribution_status" + value: "[distributionStatusOfServiceList][0][deployementStatus]" + sla: + action: assert + value: "{distribution_status}" + equals: "Distributed" + retries: 5 + interval: 5 + +context: + type: CSAR \ No newline at end of file diff --git a/vnftest/test_config/onap/test_cases/onap_vnftest_tc002.yaml b/vnftest/test_config/onap/test_cases/onap_vnftest_tc002.yaml new file mode 100644 index 0000000..5688f30 --- /dev/null +++ b/vnftest/test_config/onap/test_cases/onap_vnftest_tc002.yaml @@ -0,0 +1,363 @@ +############################################################################## +# Copyright 2018 EuropeanSoftwareMarketingLtd. +# =================================================================== +# Licensed under the ApacheLicense, Version2.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 +# +# 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 +############################################################################## + +--- +schema: "vnftest:task:0.1" +description: > + Vnftest TC002 config file; + Instantiate VNF + +{% set rnd = rnd or range(10000)|random %} +# Optional input parameters +{% set cloud_owner = cloud_owner or ['test_cloud_', rnd ]|join %} +{% set customer_name = customer_name or ['test_customer_', rnd ]|join %} +{% set service_instance_name = service_instance_name or ['test_service_instance_', rnd ]|join %} +{% set vnf_instance_name = vnf_instance_name or ['test_vnf_instance_', rnd ]|join %} + +# Mandatory input parameters +{% set service_model_version_id = service_model_version_id or '\"\u007Bservice_model_version_id\u007D\"' %} +{% set service_model_version = service_model_version or '\"\u007Bservice_model_version\u007D\"' %} +{% set service_model_normalized_name = service_model_normalized_name or '\"\u007Bservice_model_normalized_name\u007D\"' %} +{% set service_model_invariant_id = service_model_invariant_id or '\"\u007Bservice_model_invariant_id\u007D\"' %} +{% set service_model_name = service_model_name or '\"\u007Bservice_model_name\u007D\"' %} +{% set service_model_customization_id = service_model_customization_id or '\"\u007Bservice_model_customization_id\u007D\"' %} +{% set resource_model_invariant_id = resource_model_invariant_id or '\"\u007Bresource_model_invariant_id\u007D\"' %} +{% set resource_model_version_id = resource_model_version_id or '\"\u007Bresource_model_version_id\u007D\"' %} +{% set resource_model_name = resource_model_name or '\"\u007Bresource_model_name\u007D\"' %} +{% set resource_model_version = resource_model_version or '\"\u007Bresource_model_version\u007D\"' %} +{% set resource_model_customization_id = resource_model_customization_id or '\"\u007Bresource_model_customization_id\u007D\"' %} +{% set resource_model_customization_name = resource_model_customization_name or '\"\u007Bresource_model_customization_name\u007D\"' %} +{% set distributed_service_id = distributed_service_id or '\"\u007Bdistributed_service_id\u007D\"' %} +{% set resource_instance_model_name = resource_instance_model_name or '\"\u007Bresource_instance_model_name\u007D\"' %} +{% set vf_modules_list = vf_modules_list or {}%} + +steps: +- + type: OnapApiCall + options: + file: "onap/lifecycle/create_region.yaml" + input: + - + parameter_name: "cloud_owner" + value: {{cloud_owner}} + - + parameter_name: "tenant_id" + value: "{context.creds.tenant_id}" + - + parameter_name: "tenant_name" + value: "{context.creds.tenant_name}" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/create_service.yaml" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/create_customer.yaml" + input: + - + parameter_name: "customer_name" + value: {{customer_name}} + - + parameter_name: "cloud_owner" + value: {{cloud_owner}} + - + parameter_name: "tenant_id" + value: "{context.creds.tenant_id}" +- + type: OnapApiCall + options: + file: "onap/lifecycle/create_service_instance.yaml" + delay: 60 + input: + - + parameter_name: "service_instance_name" + value: {{service_instance_name}} + - + parameter_name: "service_model_version_id" + value: {{service_model_version_id}} + - + parameter_name: "service_model_version" + value: {{service_model_version}} + - + parameter_name: "service_model_normalized_name" + value: {{service_model_normalized_name}} + - + parameter_name: "service_model_invariant_id" + value: {{service_model_invariant_id}} + - + parameter_name: "customer_name" + value: {{customer_name}} + output: + - + parameter_name: "service_instance_id" + value: "[requestReferences][instanceId]" + - + parameter_name: "request_id" + value: "[requestReferences][requestId]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/monitor_request.yaml" + input: + - + parameter_name: "request_id" + value: "{request_id}" + output: + - + parameter_name: "request_state" + value: "[request][requestStatus][requestState]" + sla: + action: assert + value: "{request_state}" + equals: "COMPLETE" + retries: 15 + interval: 5 + +- + type: OnapApiCall + options: + file: "onap/lifecycle/create_vnf_instance.yaml" + delay: 30 + input: + - + parameter_name: "service_instance_id" + value: "{service_instance_id}" + - + parameter_name: "vnf_instance_name" + value: {{vnf_instance_name}} + - + parameter_name: "resource_model_invariant_id" + value: {{resource_model_invariant_id}} + - + parameter_name: "resource_model_version_id" + value: {{resource_model_version_id}} + - + parameter_name: "resource_model_name" + value: {{resource_model_name}} + - + parameter_name: "resource_model_version" + value: {{resource_model_version}} + - + parameter_name: "resource_model_customization_id" + value: {{resource_model_customization_id}} + - + parameter_name: "resource_model_customization_name" + value: {{resource_model_customization_name}} + - + parameter_name: "tenant_id" + value: "{context.creds.tenant_id}" + - + parameter_name: "service_model_name" + value: {{service_model_name}} + - + parameter_name: "service_model_invariant_id" + value: {{service_model_invariant_id}} + - + parameter_name: "service_model_version" + value: {{service_model_version}} + - + parameter_name: "distributed_service_id" + value: {{distributed_service_id}} + + output: + - + parameter_name: "vnf_instance_id" + value: "[requestReferences][instanceId]" + - + parameter_name: "request_id" + value: "[requestReferences][requestId]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/monitor_request.yaml" + input: + - + parameter_name: "request_id" + value: "{request_id}" + output: + - + parameter_name: "request_state" + value: "[request][requestStatus][requestState]" + sla: + action: assert + value: "{request_state}" + equals: "COMPLETE" + retries: 15 + interval: 5 + runner: + type: Iteration + run_step: "setup,run" + +{% for vf_module_definition in vnf_descriptor.vf_modules %} + {% set vf_module = vf_modules_list[vf_module_definition.module_name] %} + {% set vnf_name = ['test_vnf_', rnd, '_', vf_module_definition.module_name ]|join %} +- + type: OnapApiCall + options: + file: "onap/lifecycle/preload_sdnc.yaml" + input: + - + parameter_name: "vnf_parameters" + value: {{vf_module_definition.vnf_parameters}} + - + parameter_name: "vnf_name" + value: {{vnf_name}} + - + parameter_name: "vnf_instance_name" + value: {{vnf_instance_name}} + - + parameter_name: "service_model_name" + value: {{service_model_name}} + - + parameter_name: "resource_instance_model_name" + value: {{resource_instance_model_name}} + - + parameter_name: "service_instance_id" + value: "{service_instance_id}" + - + parameter_name: "vnf_type" + value: {{vf_module.groupName}} + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/create_vf_module.yaml" + delay: 30 + input: + - + parameter_name: "user_parameters" + value: {{vf_module_definition.user_parameters}} + - + parameter_name: "service_instance_id" + value: "{service_instance_id}" + - + parameter_name: "vnf_instance_id" + value: "{vnf_instance_id}" + - + parameter_name: "vnf_name" + value: {{vnf_name}} + - + parameter_name: "module_model_invariant_id" + value: {{vf_module.invariantUUID}} + - + parameter_name: "module_model_version_id" + value: {{vf_module.groupUUID}} + - + parameter_name: "vnf_type" + value: {{vf_module.groupName}} + - + parameter_name: "module_model_version" + value: {{vf_module.version}} + - + parameter_name: "module_model_customization_id" + value: {{vf_module.customizationUUID}} + - + parameter_name: "tenant_id" + value: "{context.creds.tenant_id}" + - + parameter_name: "service_model_name" + value: {{service_model_name}} + - + parameter_name: "service_model_invariant_id" + value: {{service_model_invariant_id}} + - + parameter_name: "service_model_version" + value: {{service_model_version}} + - + parameter_name: "distributed_service_id" + value: {{distributed_service_id}} + - + parameter_name: "resource_model_name" + value: {{resource_model_name}} + - + parameter_name: "resource_model_invariant_id" + value: {{resource_model_invariant_id}} + - + parameter_name: "resource_model_version" + value: {{resource_model_version}} + - + parameter_name: "resource_model_version_id" + value: {{resource_model_version_id}} + - + parameter_name: "resource_model_customization_id" + value: {{resource_model_customization_id}} + - + parameter_name: "resource_model_customization_name" + value: {{resource_model_customization_name}} + + output: + - + parameter_name: "vf_module_instance_id" + value: "[requestReferences][instanceId]" + - + parameter_name: "request_id" + value: "[requestReferences][requestId]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/monitor_request.yaml" + input: + - + parameter_name: "request_id" + value: "{request_id}" + output: + - + parameter_name: "request_state" + value: "[request][requestStatus][requestState]" + sla: + action: assert + value: "{request_state}" + equals: "COMPLETE" + retries: 15 + interval: 5 + + runner: + type: Iteration + run_step: "setup,run" +- + type: VfModuleValidator + options: + vnf_instance_id: "{vnf_instance_id}" + vf_module_instance_id: "{vf_module_instance_id}" + runner: + type: Iteration + run_step: "setup,run" + +{% endfor %} +context: + type: CSAR \ No newline at end of file diff --git a/vnftest/test_config/onap/test_cases/onap_vnftest_tc003.yaml b/vnftest/test_config/onap/test_cases/onap_vnftest_tc003.yaml new file mode 100644 index 0000000..278f8ef --- /dev/null +++ b/vnftest/test_config/onap/test_cases/onap_vnftest_tc003.yaml @@ -0,0 +1,95 @@ +############################################################################## +# Copyright 2018 EuropeanSoftwareMarketingLtd. +# =================================================================== +# Licensed under the ApacheLicense, Version2.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 +# +# 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 +############################################################################## + +--- +schema: "vnftest:task:0.1" +description: > + Vnftest TC003 config file; + Delete VF module + +{% set service_instance_id = service_instance_id or '\"\u007Bservice_instance_id\u007D\"' %} +{% set vnf_instance_id = vnf_instance_id or '\"\u007Bvnf_instance_id\u007D\"' %} +{% set vf_module_instance_id = vf_module_instance_id or '\"\u007Bvf_module_instance_id\u007D\"' %} +{% set service_model_customization_id = service_model_customization_id or '\"\u007Bservice_model_customization_id\u007D\"' %} +{% set vf_modules_list = vf_modules_list or {}%} + +steps: +{% for vf_module_definition in vnf_descriptor.vf_modules %} + {% set vf_module = vf_modules_list[vf_module_definition.module_name] %} +- + type: OnapApiCall + options: + file: "onap/lifecycle/delete_vf_module.yaml" + input: + - + parameter_name: "service_instance_id" + value: {{service_instance_id}} + - + parameter_name: "vnf_instance_id" + value: {{vnf_instance_id}} + - + parameter_name: "vf_module_instance_id" + value: {{vf_module_instance_id}} + - + parameter_name: "module_model_invariant_id" + value: {{vf_module.invariantUUID}} + - + parameter_name: "module_model_version_id" + value: {{vf_module.groupUUID}} + - + parameter_name: "vnf_type" + value: {{vf_module.name}} + - + parameter_name: "module_model_version" + value: {{vf_module.version}} + - + parameter_name: "service_model_customization_id" + value: {{service_model_customization_id}} + - + parameter_name: "tenant_id" + value: "{context|creds|tenant_id}" + + output: + - + parameter_name: "request_id" + value: "[requestReferences][requestId]" + runner: + type: Iteration + run_step: "setup,run" + +- + type: OnapApiCall + options: + file: "onap/lifecycle/monitor_request.yaml" + input: + - + parameter_name: "request_id" + value: "{request_id}" + output: + - + parameter_name: "request_state" + value: "[request][requestStatus][requestState]" + sla: + action: assert + value: "{request_state}" + equals: "COMPLETE" + retries: 15 + interval: 5 +{% endfor %} + runner: + type: Iteration + run_step: "setup,run" + +context: + type: CSAR \ No newline at end of file diff --git a/vnftest/test_config/onap/test_suites/__init__.py b/vnftest/test_config/onap/test_suites/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vnftest/test_config/onap/test_suites/onap_basic_lifecycle.yaml b/vnftest/test_config/onap/test_suites/onap_basic_lifecycle.yaml new file mode 100644 index 0000000..773a8e0 --- /dev/null +++ b/vnftest/test_config/onap/test_suites/onap_basic_lifecycle.yaml @@ -0,0 +1,26 @@ +############################################################################## +# Copyright 2018 EuropeanSoftwareMarketingLtd. +# =================================================================== +# Licensed under the ApacheLicense, Version2.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 +# +# 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 +############################################################################## + +--- + +schema: "vnftest:suite:0.1" + +name: "onap-basic-lifecycle" +test_cases: +- + file_name: test_config/onap/test_cases/onap_vnftest_tc001.yaml +- + file_name: test_config/onap/test_cases/onap_vnftest_tc002.yaml +#- +# file_name: test_config/onap/test_cases/onap_vnftest_tc003.yaml diff --git a/vnftest/tests/unit/core/no_constraint_no_args_step_sample.yaml b/vnftest/tests/unit/core/no_constraint_no_args_step_sample.yaml index 4272d70..792c8db 100644 --- a/vnftest/tests/unit/core/no_constraint_no_args_step_sample.yaml +++ b/vnftest/tests/unit/core/no_constraint_no_args_step_sample.yaml @@ -19,7 +19,6 @@ schema: "vnftest:suite:0.1" name: "suite_1" -test_cases_dir: "tests/onap/test_cases/" test_cases: - file_name: onap_vnftest_tc001.yaml diff --git a/vnftest/tests/unit/core/no_constraint_with_args_step_sample.yaml b/vnftest/tests/unit/core/no_constraint_with_args_step_sample.yaml index 9b8b09a..73372dc 100644 --- a/vnftest/tests/unit/core/no_constraint_with_args_step_sample.yaml +++ b/vnftest/tests/unit/core/no_constraint_with_args_step_sample.yaml @@ -21,9 +21,9 @@ schema: "vnftest:suite:0.1" name: "suite_1" test_cases: - - file_name: tests/onap/test_cases/onap_vnftest_tc001.yaml + file_name: test_config/onap/test_cases/onap_vnftest_tc001.yaml - - file_name: tests/onap/test_cases/onap_vnftest_tc002.yaml + file_name: test_config/onap/test_cases/onap_vnftest_tc002.yaml task_args: huawei-pod1: '{"host": "node1.LF","target": "node2.LF"}' diff --git a/vnftest/tests/unit/core/with_constraint_no_args_step_sample.yaml b/vnftest/tests/unit/core/with_constraint_no_args_step_sample.yaml index f9524fb..c3a6bb1 100644 --- a/vnftest/tests/unit/core/with_constraint_no_args_step_sample.yaml +++ b/vnftest/tests/unit/core/with_constraint_no_args_step_sample.yaml @@ -19,12 +19,11 @@ schema: "vnftest:suite:0.1" name: "suite_1" -test_cases_dir: "tests/onap/test_cases/" test_cases: - - file_name: onap_vnftest_tc001.yaml + file_name: test_config/onap/test_cases/onap_vnftest_tc001.yaml - - file_name: onap_vnftest_tc002.yaml + file_name: test_config/onap/test_cases/onap_vnftest_tc002.yaml constraint: installer: compass pod: huawei-pod1 diff --git a/vnftest/tests/unit/core/with_constraint_with_args_step_sample.yaml b/vnftest/tests/unit/core/with_constraint_with_args_step_sample.yaml index 53c8390..684b077 100644 --- a/vnftest/tests/unit/core/with_constraint_with_args_step_sample.yaml +++ b/vnftest/tests/unit/core/with_constraint_with_args_step_sample.yaml @@ -19,12 +19,11 @@ schema: "vnftest:suite:0.1" name: "suite_1" -test_cases_dir: "tests/onap/test_cases/" test_cases: - - file_name: onap_vnftest_tc001.yaml + file_name: test_config/onap/test_cases/onap_vnftest_tc001.yaml - - file_name: onap_vnftest_tc002.yaml + file_name: test_config/onap/test_cases/onap_vnftest_tc002.yaml constraint: installer: compass pod: huawei-pod1 -- cgit 1.2.3-korg