'toscaparser = vnfsdk_pkgtools.validator.toscaparser_validator:ToscaparserValidator',
],
'vnfsdk.pkgtools.vnfreq': [
+ 'R-04298 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R04298',
'R-66070 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R66070',
'R-77707 = vnfsdk_pkgtools.vnfreq.pkg_reqs:R77707',
],
check_result('R-77707', reader, None,
'Package component sub/non-existing not found in manifest file')
+
+def test_R04298(mocker, tmpdir):
+ p1 = tmpdir.mkdir('tests').join('script.sh')
+ p1.write("#!/bin/sh")
+ reader = mocker.Mock()
+ reader.destination = str(tmpdir)
+ reader.entry_tests_dir = "tests"
+ check_result('R-04298', reader, None, None)
+
+ p1.remove()
+ check_result('R-04298', reader, None,
+ 'No testing scripts found')
if rel_path not in reader.manifest.digests:
raise vnfreq.VnfRequirementError("Package component %s not found in manifest file" % rel_path)
return 0
+
+
+class R04298(vnfreq.TesterBase):
+ ID = "R-04298"
+ DESC = ("The VNF provider MUST provide their testing scripts "
+ "to support testing.")
+
+ def _do_check(self, reader, tosca):
+ if not reader.entry_tests_dir:
+ raise vnfreq.VnfRequirementError("No test directory found")
+ elif not os.listdir(os.path.join(reader.destination,
+ reader.entry_tests_dir)):
+ raise vnfreq.VnfRequirementError("No testing scripts found")
+ return 0
+