diff options
author | Lianhao Lu <lianhao.lu@intel.com> | 2018-08-29 18:17:46 +0800 |
---|---|---|
committer | Lianhao Lu <lianhao.lu@intel.com> | 2018-08-29 18:37:48 +0800 |
commit | 0af4624891b9de8bd455acd584ea3fa4a87304b8 (patch) | |
tree | 736e0379095b69fa0ddaf187a9aabb0d6e23e64d /vnfsdk_pkgtools/vnfreq/pkg_reqs.py | |
parent | 7db9cd91cd0b25000fca4c3ffb5c59cc413ad3f6 (diff) |
framework for checking vnf requirement
Implemented the internal code framework to add test cases to check vnf
requirements. Use command line parameter '--test-reqs' with the list of
vnf requirment IDs to invoke 'vnfsdk csar-validate'.
Also implement test case for R-66070: csar manifest metadata
Change-Id: I385e515f3e87f1e89fb7baf9ec3e0560f44541cd
Issue-ID: VNFSDK-316
Issue-ID: VNFSDK-174
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Diffstat (limited to 'vnfsdk_pkgtools/vnfreq/pkg_reqs.py')
-rw-r--r-- | vnfsdk_pkgtools/vnfreq/pkg_reqs.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/vnfsdk_pkgtools/vnfreq/pkg_reqs.py b/vnfsdk_pkgtools/vnfreq/pkg_reqs.py new file mode 100644 index 0000000..c5b20f7 --- /dev/null +++ b/vnfsdk_pkgtools/vnfreq/pkg_reqs.py @@ -0,0 +1,37 @@ +# Copyright (c) 2018 Intel Corp. All rights reserved. +# +# Licensed 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 abc + +import six +from stevedore import driver + +from vnfsdk_pkgtools import vnfreq + + +class R66070(vnfreq.TesterBase): + ID = "R-66070" + DESC = ("The VNF Package MUST include VNF Identification Data to " + "uniquely identify the resource for a given VNF provider. " + "The identification data must include: an identifier for " + "the VNF, the name of the VNF as was given by the VNF " + "provider, VNF description, VNF provider, and version.") + + def _do_check(self, reader, tosca): + if not reader.manifest: + raise vnfreq.VnfRequirementError("No manifest file found") + # Existing reader.manifest already means a valid manifest file + # no futher check needed. + return 0 |