1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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)
|