summaryrefslogtreecommitdiffstats
path: root/dovetail/tests
diff options
context:
space:
mode:
authorStamatis Katsaounis <mokats@intracom-telecom.com>2019-02-19 12:38:10 +0200
committerDan Xu <xudan16@huawei.com>2019-03-13 10:48:45 +0000
commitb4e6a756ebeb019048cb03a0562534870b772cae (patch)
tree19035c5e15dbe4b227a76e3deaeffbd68afeb68f /dovetail/tests
parent0856c3ab2083ed8b8f16572c0f0b249aab203e69 (diff)
Calculate checksum for input VNF
This patch adds checksum information inside ONAP related test case run results. The checksum is produced by the VNF input which can either be a CSAR file or an archive of Heat templates. Change-Id: I0ed58bdc9cc4031da08fd2ac220ef294520ef447 Signed-off-by: Stamatis Katsaounis <mokats@intracom-telecom.com>
Diffstat (limited to 'dovetail/tests')
-rw-r--r--dovetail/tests/unit/test_report.py47
-rw-r--r--dovetail/tests/unit/test_test_runner.py6
2 files changed, 49 insertions, 4 deletions
diff --git a/dovetail/tests/unit/test_report.py b/dovetail/tests/unit/test_report.py
index be56e15c..e44c6ac8 100644
--- a/dovetail/tests/unit/test_report.py
+++ b/dovetail/tests/unit/test_report.py
@@ -225,7 +225,9 @@ class ReportTesting(unittest.TestCase):
@patch('dovetail.report.datetime.datetime')
@patch('dovetail.report.dt_cfg')
- def test_generate_json_no_list(self, mock_config, mock_datetime):
+ @patch.object(dt_report.Report, 'get_checksum')
+ def test_generate_json_no_list(self, mock_checksum, mock_config,
+ mock_datetime):
logger_obj = Mock()
report = dt_report.Report()
report.logger = logger_obj
@@ -238,12 +240,14 @@ class ReportTesting(unittest.TestCase):
utc_obj = Mock()
utc_obj.strftime.return_value = '2018-01-13 13:13:13 UTC'
mock_datetime.utcnow.return_value = utc_obj
+ mock_checksum.return_value = 'da39a3ee5e6b4b0d3255bfef95601890afd80709'
result = report.generate_json([], duration)
expected = {
'version': '2018.09',
'build_tag': 'build_tag',
'vnf_type': 'tosca',
+ 'vnf_checksum': 'da39a3ee5e6b4b0d3255bfef95601890afd80709',
'test_date': '2018-01-13 13:13:13 UTC',
'duration': duration,
'testcases_list': []
@@ -1466,3 +1470,44 @@ class ReportTesting(unittest.TestCase):
dt_report.OnapVvpChecker.check(testcase_obj, result)
testcase_obj.passed.assert_called_once_with('PASS')
+
+ @patch('dovetail.report.dt_cfg')
+ @patch('dovetail.report.os.path')
+ @patch('__builtin__.open')
+ @patch('dovetail.report.os.getenv')
+ def test_get_checksum_tosca(self, mock_env, mock_open, mock_path,
+ mock_config):
+ mock_config.dovetail_config = {
+ 'config_dir': 'config_dir'
+ }
+ mock_env.return_value = 'csar_file'
+ file_obj = Mock()
+ file_obj.read.return_value = 'info'
+ file_obj.__exit__ = Mock()
+ file_obj.__enter__ = Mock()
+ mock_open.return_value = file_obj
+ mock_path.isdir.return_value = False
+ mock_path.isfile.return_value = True
+
+ dt_report.Report.get_checksum('tosca')
+
+ @patch('dovetail.report.dt_cfg')
+ @patch('dovetail.report.os.path')
+ @patch('dovetail.report.os.walk')
+ @patch('__builtin__.open')
+ @patch('dovetail.report.os.getenv')
+ def test_get_checksum_heat(self, mock_env, mock_open, mock_walk, mock_path,
+ mock_config):
+ mock_config.dovetail_config = {
+ 'config_dir': 'config_dir'
+ }
+ mock_env.return_value = 'heat_templates_archive'
+ file_obj = Mock()
+ file_obj.read.return_value = 'info'
+ file_obj.__exit__ = Mock()
+ file_obj.__enter__ = Mock()
+ mock_open.return_value = file_obj
+ mock_path.isdir.return_value = True
+ mock_walk.return_value = [('root', ['dir'], ['file'])]
+
+ dt_report.Report.get_checksum('heat')
diff --git a/dovetail/tests/unit/test_test_runner.py b/dovetail/tests/unit/test_test_runner.py
index 345dfd65..a40e3cb1 100644
--- a/dovetail/tests/unit/test_test_runner.py
+++ b/dovetail/tests/unit/test_test_runner.py
@@ -324,7 +324,7 @@ class TestRunnerTesting(unittest.TestCase):
def test_add_testcase_info(self, mock_os, mock_config):
mock_os.getenv.side_effect = ['os_insecure', 'dovetail_home', 'debug',
'os_cacert', 'host_url', 'csar_file',
- 'heat_templates_dir']
+ 'heat_templates_archive']
mock_os.environ = {'DEPLOY_SCENARIO': 'deploy_scenario'}
mock_config.dovetail_config = {'build_tag': 'build_tag'}
@@ -335,7 +335,7 @@ class TestRunnerTesting(unittest.TestCase):
'dovetail_home': 'dovetail_home', 'debug': 'debug',
'build_tag': 'build_tag', 'cacert': 'os_cacert',
'host_url': 'host_url', 'csar_file': 'csar_file',
- 'heat_templates_dir': 'heat_templates_dir'
+ 'heat_templates_archive': 'heat_templates_archive'
}
result = t_runner.FunctestRunner._add_testcase_info(self.testcase)
@@ -344,7 +344,7 @@ class TestRunnerTesting(unittest.TestCase):
mock_os.getenv.assert_has_calls([
call('OS_INSECURE'), call('DOVETAIL_HOME'), call('DEBUG'),
call('OS_CACERT'), call('HOST_URL'), call('CSAR_FILE'),
- call('VNF_DIRECTORY')])
+ call('VNF_ARCHIVE_NAME')])
self.assertEquals(expected, result)
@patch('dovetail.test_runner.dt_utils')