Exemplo n.º 1
0
 def test_apply_nf_to_measurement_group_status(self):
     measurement_group_service.apply_nf_status_to_measurement_group(
         "pnf_test", "measure_grp_name", MgNfState.PENDING_CREATE.value)
     db.session.commit()
     measurement_grp_rel = (NfMeasureGroupRelationalModel.query.filter(
         NfMeasureGroupRelationalModel.measurement_grp_name ==
         'measure_grp_name',
         NfMeasureGroupRelationalModel.nf_name == 'pnf_test').one_or_none())
     self.assertIsNotNone(measurement_grp_rel)
     self.assertEqual(measurement_grp_rel.nf_measure_grp_status,
                      MgNfState.PENDING_CREATE.value)
Exemplo n.º 2
0
 def test_delete_nf_to_measurement_group_with_nf_delete(self):
     nf = NetworkFunction(nf_name='pnf_test2')
     nf_service.save_nf(nf)
     db.session.commit()
     measurement_group_service.apply_nf_status_to_measurement_group(
         "pnf_test2", "measure_grp_name2", MgNfState.PENDING_CREATE.value)
     measurement_group_service.delete_nf_to_measurement_group(
         "pnf_test2", "measure_grp_name2", MgNfState.DELETED.value)
     measurement_grp_rel = (NfMeasureGroupRelationalModel.query.filter(
         NfMeasureGroupRelationalModel.measurement_grp_name ==
         'measure_grp_name2', NfMeasureGroupRelationalModel.nf_name ==
         'pnf_test2').one_or_none())
     self.assertIsNone(measurement_grp_rel)
 def test_handle_response_unlocked_success_filtering(self, mock_update_sub_nf):
     with patch.dict(policy_response_handle_functions,
                     {AdministrativeState.UNLOCKED.value: {'success': mock_update_sub_nf}}):
         sub = create_subscription_data('sub')
         db.session.add(sub)
         measurement_group_service.apply_nf_status_to_measurement_group(
             self.nf.nf_name, "MG2", MgNfState.PENDING_CREATE.value)
         db.session.commit()
         self.policy_response_handler._handle_response(
             'MG2',
             AdministrativeState.FILTERING.value,
             self.nf.nf_name, 'success')
         mock_update_sub_nf.assert_called_with(
             measurement_group_name='MG2',
             status=MgNfState.CREATED.value, nf_name=self.nf.nf_name)
Exemplo n.º 4
0
def apply_measurement_grp_to_nfs(filtered_nfs, unlocked_mgs):
    """
    Saves measurement groups against nfs with status as PENDING_CREATE

    Args:
        filtered_nfs (list[NetworkFunction]): list of filtered network functions
        unlocked_mgs (list[MeasurementGroupModel]): list of measurement group

    """
    for measurement_group in unlocked_mgs:
        for nf in filtered_nfs:
            logger.info(f'Saving measurement group to nf name, measure_grp_name: {nf.nf_name},'
                        f'{measurement_group.measurement_group_name}')
            measurement_group_service.apply_nf_status_to_measurement_group(
                nf.nf_name, measurement_group.measurement_group_name,
                measurement_group_service.MgNfState.PENDING_CREATE.value)
Exemplo n.º 5
0
 def test_filter_nf_to_meas_grp_for_delete(self):
     sub = create_subscription_data('sub')
     db.session.add(sub)
     nf = NetworkFunction(nf_name='pnf_test2')
     nf_service.save_nf(nf)
     measurement_group_service.apply_nf_status_to_measurement_group(
         "pnf_test2", "MG2", MgNfState.PENDING_DELETE.value)
     db.session.commit()
     measurement_group_service.filter_nf_to_meas_grp(
         "pnf_test2", "MG2", MgNfState.DELETED.value)
     measurement_group_service.filter_nf_to_meas_grp(
         "pnf_test2", "MG2", MgNfState.DELETED.value)
     measurement_grp_rel = (NfMeasureGroupRelationalModel.query.filter(
         NfMeasureGroupRelationalModel.measurement_grp_name == 'MG2',
         NfMeasureGroupRelationalModel.nf_name ==
         'pnf_test2').one_or_none())
     self.assertIsNone(measurement_grp_rel)
     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')