From 341b5bb2347c30344662675936b90b325efe5520 Mon Sep 17 00:00:00 2001 From: Vijay Venkatesh Kumar Date: Thu, 17 Nov 2022 14:51:38 -0500 Subject: Heartbeat code refactoring code optimization & test improvement Issue-ID: DCAEGEN2-2953 Signed-off-by: Vijay Venkatesh Kumar Change-Id: I99229d966c13ad666ac994ab5a582aeeaa306639 Signed-off-by: Vijay Venkatesh Kumar --- tests/test_htbt_vnf_table.py | 128 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) create mode 100644 tests/test_htbt_vnf_table.py (limited to 'tests/test_htbt_vnf_table.py') diff --git a/tests/test_htbt_vnf_table.py b/tests/test_htbt_vnf_table.py new file mode 100644 index 0000000..4b6c3f1 --- /dev/null +++ b/tests/test_htbt_vnf_table.py @@ -0,0 +1,128 @@ +# ============LICENSE_START======================================================= +# Copyright (c) 2017-2023 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2019 Pantheon.tech. All rights reserved. +# Copyright (c) 2020 Deutsche Telekom. All rights reserved. +# Copyright (c) 2021 Fujitsu Ltd. +# ================================================================================ +# 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. +# ============LICENSE_END========================================================= +# +# Author Prakask H (ph553f) +""" +test_htbt_vnf_table contains test cases related to DB Tables and cbs polling. +""" +import logging +import unittest +import os +from unittest.mock import * +from mod.htbt_vnf_table import ( + verify_DB_creation_1, + verify_DB_creation_2, + verify_DB_creation_hb_common, + hb_properties, + verify_cbspolling, + verify_sendControlLoop_VNF_ONSET, + verify_sendControlLoop_VM_ONSET, + verify_sendControlLoop_VNF_ABATED, + verify_sendControlLoop_VM_ABATED, + verify_fetch_json_file, + verify_misshtbtdmain, + verify_dbmonitoring, + verify_dbmon_startup, +) + +_logger = logging.getLogger(__name__) + + +class test_vnf_tables(unittest.TestCase): + """ + Test the DB Creation + """ + + global ip_address, port_num, user_name, password, db_name, cbs_polling_required, cbs_polling_interval + ip_address, port_num, user_name, password, db_name, cbs_polling_required, cbs_polling_interval = hb_properties() + + @patch('htbtworker.postgres_db_open') + @patch('misshtbtd.db_table_creation_check', return_value=True) + def test_validate_vnf_table_1(self, mock, mock1): + result = verify_DB_creation_1(user_name, password, ip_address, port_num, db_name) + self.assertEqual(result, True) + + @patch('htbtworker.postgres_db_open') + @patch('misshtbtd.db_table_creation_check', return_value=True) + def test_validate_vnf_table_2(self, mock, mock1): + result = verify_DB_creation_2(user_name, password, ip_address, port_num, db_name) + self.assertEqual(result, True) + + @patch('htbtworker.postgres_db_open') + @patch('misshtbtd.db_table_creation_check', return_value=True) + def test_validate_hb_common(self, mock, mock1): + result = verify_DB_creation_hb_common() + self.assertEqual(result, True) + + @patch('cbs_polling.poll_cbs') + def test_cbspolling(self, mock): + # Check if no exception thrown + verify_cbspolling() + + @patch('misshtbtd.fetch_json_file') + def test_fetch_json_file(self, mock1): + configjsonfile = (os.path.dirname(__file__))+"/test-config.json" + mock1.return_value = configjsonfile + + result = verify_fetch_json_file() + _logger.info(result) + self.assertEqual(result, True) + + @patch('misshtbtd.main') + def test_misshtbtdmain(self, mock): + result = verify_misshtbtdmain() + _logger.info(result) + self.assertEqual(result, True) + + def test_dbmon_startup(self): + result = verify_dbmon_startup() + _logger.info(result) + self.assertEqual(result, True) + + @patch('misshtbtd.fetch_json_file') + @patch('misshtbtd.read_hb_common') + @patch('db_monitoring.db_monitoring') + def test_dbmonitoring(self, mock1, mock2, mock3): + configjsonfile = (os.path.dirname(__file__))+"/test-config.json" + mock1.return_value = configjsonfile + mock2.return_value = ("1234","RUNNING", "XYZ", 1234) + + result = verify_dbmonitoring() + _logger.info(result) + self.assertEqual(result, True) + + def test_sendControlLoop_VNF_ONSET(self): + result = verify_sendControlLoop_VNF_ONSET() + _logger.info(result) + self.assertEqual(result, True) + + def test_sendControlLoop_VM_ONSET(self): + result = verify_sendControlLoop_VM_ONSET() + _logger.info(result) + self.assertEqual(result, True) + + def test_sendControlLoop_VNF_ABATED(self): + result = verify_sendControlLoop_VNF_ABATED() + _logger.info(result) + self.assertEqual(result, True) + + def test_sendControlLoop_VM_ABATED(self): + result = verify_sendControlLoop_VM_ABATED() + _logger.info(result) + self.assertEqual(result, True) -- cgit 1.2.3-korg