From 0080fa4309a40599b7d239b53bab9a74182ae500 Mon Sep 17 00:00:00 2001 From: efiacor Date: Tue, 8 Sep 2020 16:26:50 +0100 Subject: [PMSSH] Add sdnc model info to event publish Signed-off-by: efiacor Change-Id: I89e25e99a2d541a29cf4a8dde986fab5b1812c9e Issue-ID: DCAEGEN2-2405 --- .../tests/test_controller.py | 65 +++++++++++----------- 1 file changed, 32 insertions(+), 33 deletions(-) (limited to 'components/pm-subscription-handler/tests/test_controller.py') 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') -- cgit 1.2.3-korg