#!/usr/bin/env python3 # ============LICENSE_START======================================================= # Copyright (c) 2023 AT&T Intellectual Property. 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. # ============LICENSE_END========================================================= import db_monitoring import htbtworker import logging import requests import tempfile import os import json import unittest from unittest.mock import * from _pytest.outcomes import skip _logger = logging.getLogger(__name__) class Test_db_monitoring(unittest.TestCase): def setUp(self): htbtworker.configjsonfile = (os.path.dirname(__file__)) + "/test-config.json" @patch("requests.post") def test_sendControlLoopEvent(self, mock1): status = True mock_resp = Mock() mock_resp.configure_mock(**{"status_code": 200}) mock1.return_value = mock_resp db_monitoring.sendControlLoopEvent( "ONSET", "ABC", "1.0", "vFW", "vFW", "VNF", "NODE", "1234567890", "VFW", "1.0", "DCAE" ) self.assertEqual(status, True) db_monitoring.sendControlLoopEvent( "ONSET", "ABC", "1.0", "vFW", "vFW", "VM", "NODE", "1234567890", "VFW", "1.0", "DCAE" ) self.assertEqual(status, True) db_monitoring.sendControlLoopEvent( "ABATED", "ABC", "1.0", "vFW", "vFW", "VNF", "NODE", "1234567890", "VFW", "1.0", "DCAE" ) self.assertEqual(status, True) db_monitoring.sendControlLoopEvent( "ABATED", "ABC", "1.0", "vFW", "vFW", "VM", "NODE", "1234567890", "VFW", "1.0", "DCAE" ) self.assertEqual(status, True) @patch("misshtbtd.read_hb_common", return_value=("1234", "RUNNING", "XYZ", 1234)) @patch("htbtworker.postgres_db_open") def test_db_monitoring(self, mock1, mock2): status = True mock_cursor = Mock() mock2.cursor.return_value = mock_cursor db_monitoring.db_monitoring( "111", htbtworker.configjsonfile, "testuser", "testpwd", "10.0.0.0", "1234", "db_name" ) self.assertEqual(status, True) db_monitoring.db_monitoring( "1234", htbtworker.configjsonfile, "testuser", "testpwd", "10.0.0.0", "1234", "db_name" ) self.assertEqual(status, True) mock1.cursor.return_value = ("1234", "RECONFIGURATION", "XYZ", 1234) db_monitoring.db_monitoring( "1234", htbtworker.configjsonfile, "testuser", "testpwd", "10.0.0.0", "1234", "db_name" ) self.assertEqual(status, True) def test_db_monitoring_wrapper(self): status = True db_monitoring.db_monitoring_wrapper("111", htbtworker.configjsonfile, number_of_iterations=0) self.assertEqual(status, True) if __name__ == "__main__": # pragma: no cover unittest.main()