summaryrefslogtreecommitdiffstats
path: root/vnftest
diff options
context:
space:
mode:
Diffstat (limited to 'vnftest')
-rw-r--r--vnftest/__init__.py1
-rw-r--r--vnftest/common/constants.py9
-rw-r--r--vnftest/common/utils.py8
-rw-r--r--vnftest/core/testcase.py4
-rw-r--r--vnftest/test_config/__init__.py0
-rw-r--r--vnftest/test_config/onap/__init__.py0
-rw-r--r--vnftest/test_config/onap/test_cases/__init__.py0
-rw-r--r--vnftest/test_config/onap/test_cases/onap_vnftest_tc001.yaml374
-rw-r--r--vnftest/test_config/onap/test_cases/onap_vnftest_tc002.yaml363
-rw-r--r--vnftest/test_config/onap/test_cases/onap_vnftest_tc003.yaml95
-rw-r--r--vnftest/test_config/onap/test_suites/__init__.py0
-rw-r--r--vnftest/test_config/onap/test_suites/onap_basic_lifecycle.yaml26
-rw-r--r--vnftest/tests/unit/core/no_constraint_no_args_step_sample.yaml1
-rw-r--r--vnftest/tests/unit/core/no_constraint_with_args_step_sample.yaml4
-rw-r--r--vnftest/tests/unit/core/with_constraint_no_args_step_sample.yaml5
-rw-r--r--vnftest/tests/unit/core/with_constraint_with_args_step_sample.yaml5
16 files changed, 877 insertions, 18 deletions
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
--- /dev/null
+++ b/vnftest/test_config/__init__.py
diff --git a/vnftest/test_config/onap/__init__.py b/vnftest/test_config/onap/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/vnftest/test_config/onap/__init__.py
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
--- /dev/null
+++ b/vnftest/test_config/onap/test_cases/__init__.py
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
--- /dev/null
+++ b/vnftest/test_config/onap/test_suites/__init__.py
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