summaryrefslogtreecommitdiffstats
path: root/components/pm-subscription-handler/tests/test_controller.py
diff options
context:
space:
mode:
authorJoseph O'Leary <joseph.o.leary@est.tech>2020-09-10 12:28:23 +0000
committerGerrit Code Review <gerrit@onap.org>2020-09-10 12:28:23 +0000
commit2c6ad52e8d0e29b8037776fff035f031558cc4b0 (patch)
tree08b7de937b034a63c883ac9d3da00f6e2e2b381f /components/pm-subscription-handler/tests/test_controller.py
parent8265ba613930d3b834d26b0802682c3bef6c2c04 (diff)
parent0080fa4309a40599b7d239b53bab9a74182ae500 (diff)
Merge "[PMSSH] Add sdnc model info to event publish"
Diffstat (limited to 'components/pm-subscription-handler/tests/test_controller.py')
-rwxr-xr-xcomponents/pm-subscription-handler/tests/test_controller.py65
1 files changed, 32 insertions, 33 deletions
diff --git a/components/pm-subscription-handler/tests/test_controller.py b/components/pm-subscription-handler/tests/test_controller.py
index 4fcecc37..c38cd976 100755
--- a/components/pm-subscription-handler/tests/test_controller.py
+++ b/components/pm-subscription-handler/tests/test_controller.py
@@ -17,56 +17,55 @@
# ============LICENSE_END=====================================================
import json
import os
-import unittest
-from test.support import EnvironmentVarGuard
from unittest.mock import patch
+import responses
from requests import Session
-from mod import aai_client, create_app, db
+from mod import aai_client
from mod.api.controller import status, get_all_sub_to_nf_relations
-from mod.network_function import NetworkFunction
-from mod.pmsh_utils import AppConfig
+from tests.base_setup import BaseClassSetup
-class ControllerTestCase(unittest.TestCase):
+class ControllerTestCase(BaseClassSetup):
- @patch('mod.pmsh_utils.AppConfig._get_pmsh_config')
- @patch('mod.update_logging_config')
- @patch('mod.get_db_connection_url')
- @patch.object(Session, 'put')
- def setUp(self, mock_session, mock_get_db_url, mock_update_config, mock_get_pmsh_config):
- mock_get_db_url.return_value = 'sqlite://'
+ @classmethod
+ def setUpClass(cls):
+ super().setUpClass()
+
+ def setUp(self):
+ super().setUp()
with open(os.path.join(os.path.dirname(__file__), 'data/aai_xnfs.json'), 'r') as data:
self.aai_response_data = data.read()
- mock_session.return_value.status_code = 200
- mock_session.return_value.text = self.aai_response_data
- self.env = EnvironmentVarGuard()
- self.env.set('AAI_SERVICE_PORT', '8443')
- self.env.set('LOGGER_CONFIG', os.path.join(os.path.dirname(__file__), 'log_config.yaml'))
- with open(os.path.join(os.path.dirname(__file__), 'data/cbs_data_1.json'), 'r') as data:
- self.cbs_data = json.load(data)
- mock_get_pmsh_config.return_value = self.cbs_data
- self.nf_1 = NetworkFunction(nf_name='pnf_1', orchestration_status='Inventoried')
- self.nf_2 = NetworkFunction(nf_name='pnf_2', orchestration_status='Active')
- self.app = create_app()
- self.app_context = self.app.app_context()
- self.app_context.push()
- db.create_all()
- self.app_conf = AppConfig()
- self.xnfs = aai_client.get_pmsh_nfs_from_aai(self.app_conf)
+ with open(os.path.join(os.path.dirname(__file__), 'data/aai_model_info.json'), 'r') as data:
+ self.good_model_info = data.read()
def tearDown(self):
- db.session.remove()
- db.drop_all()
+ super().tearDown()
+
+ @classmethod
+ def tearDownClass(cls):
+ super().tearDownClass()
def test_status_response_healthy(self):
self.assertEqual(status()['status'], 'healthy')
- def test_get_all_sub_to_nf_relations(self):
+ @patch.object(Session, 'get')
+ @patch.object(Session, 'put')
+ def test_get_all_sub_to_nf_relations(self, mock_put_session, mock_get_session):
+ mock_put_session.return_value.status_code = 200
+ mock_put_session.return_value.text = self.aai_response_data
+ mock_get_session.return_value.status_code = 200
+ mock_get_session.return_value.text = self.good_model_info
+ responses.add(responses.GET,
+ 'https://aai:8443/aai/v20/service-design-and-creation/models/model/'
+ '7129e420-d396-4efb-af02-6b83499b12f8/model-vers/model-ver/'
+ 'e80a6ae3-cafd-4d24-850d-e14c084a5ca9',
+ json=json.loads(self.good_model_info), status=200)
+ self.xnfs = aai_client.get_pmsh_nfs_from_aai(self.app_conf)
sub_model = self.app_conf.subscription.get()
- for nf in [self.nf_1, self.nf_2]:
+ for nf in self.xnfs:
self.app_conf.subscription.add_network_function_to_subscription(nf, sub_model)
all_subs = get_all_sub_to_nf_relations()
- self.assertEqual(len(all_subs[0]['network_functions']), 2)
+ self.assertEqual(len(all_subs[0]['network_functions']), 3)
self.assertEqual(all_subs[0]['subscription_name'], 'ExtraPM-All-gNB-R2B')