def capture_filtered_nfs(sub_name): """ Retrieves network functions from AAI client and returns a list of filtered NetworkFunctions using the Filter Args: sub_name (string): The name of subscription inorder to perform filtering Returns: list[NetworkFunction]: a list of filtered NetworkFunction Objects or an empty list if no network function is filtered. """ logger.info(f'Getting filtered nfs for subscription: {sub_name}') nf_filter = NetworkFunctionFilter.get_network_function_filter(sub_name) return aai_client.get_pmsh_nfs_from_aai(AppConfig.get_instance(), nf_filter)
def test_update_admin_state_api_for_unlocked_update( self, mock_filter_call, mock_model_aai, mock_aai): mock_aai.return_value = json.loads(self.aai_response_data) mock_model_aai.return_value = json.loads(self.good_model_info) sub = create_subscription_data('sub1') db.session.add(sub) nf_list = create_multiple_network_function_data(['pnf_101', 'pnf_102']) for network_function in nf_list: db.session.add(network_function) db.session.commit() mock_filter_call.return_value = NetworkFunctionFilter.get_network_function_filter( 'sub') response = update_admin_state('sub1', 'MG2', {'administrativeState': 'UNLOCKED'}) self.assertEqual(response[1], HTTPStatus.OK.value) self.assertEqual(response[0], 'Successfully updated admin state') mg_with_nfs, status_code = get_meas_group_with_nfs('sub1', 'MG2') self.assertEqual(mg_with_nfs['subscriptionName'], 'sub1') self.assertEqual(mg_with_nfs['measurementGroupName'], 'MG2') self.assertEqual(mg_with_nfs['administrativeState'], 'UNLOCKED') for nf in mg_with_nfs['networkFunctions']: self.assertEqual(nf['nfMgStatus'], MgNfState.PENDING_CREATE.value)
def test_update_admin_status_to_unlocking(self, mock_filter_call, mock_model_aai, mock_aai): mock_aai.return_value = json.loads(self.aai_response_data) mock_model_aai.return_value = json.loads(self.good_model_info) super().setUp() sub = create_subscription_data('sub') db.session.add(sub) db.session.commit() mock_filter_call.return_value = NetworkFunctionFilter.get_network_function_filter( 'sub') measurement_group_service.update_admin_status( sub.measurement_groups[1], 'UNLOCKED') meas_grp = measurement_group_service.query_meas_group_by_name( 'sub', 'MG2') self.assertEqual(meas_grp.subscription_name, 'sub') self.assertEqual(meas_grp.measurement_group_name, 'MG2') self.assertEqual(meas_grp.administrative_state, 'UNLOCKED') meas_group_nfs = db.session.query(NfMeasureGroupRelationalModel).filter( NfMeasureGroupRelationalModel.measurement_grp_name == meas_grp.measurement_group_name)\ .all() for nf in meas_group_nfs: self.assertEqual(nf.nf_measure_grp_status, MgNfState.PENDING_CREATE.value)