Commit 402185e6 authored by Iztok Juvancic's avatar Iztok Juvancic
Browse files

add TPs

parent bca63020
Loading
Loading
Loading
Loading
+117 −0
Original line number Diff line number Diff line
@@ -24,5 +24,122 @@ module AtsIms5gIot_TD_5GDRG {
    import from AtsIms5gIot_TestConfiguration all; 
    import from AtsIms5gIot_TestSystem all; 
    import from AtsIms5gIot_Functions all; 
    import from AtsIms5gIot_TP_behavior_N1N2 all;
    import from AtsIms5gIot_TP_behavior_GM all;
    import from AtsIms5gIot_TP_behavior_MW_PS all;
    import from AtsIms5gIot_TP_behavior_MW_IS all;
    import from AtsIms5gIot_TP_behavior_MW_SI all;
    import from AtsIms5gIot_TP_behavior_MM all;
    import from AtsImsIot_TP_behavior_ISC all;
    import from AtsIms5gIot_TP_behavior_MI all;
    import from AtsIms5gIot_TP_behavior_MX all;
    import from AtsIms5gIot_TP_behavior_N5_PCF all;
    import from AtsIms5gIot_TP_behavior_RX all;
    

group Interoperability{

        group Network_5G_DeRegistration {
            
            // To perform UE emergency 5G deregistration from the network with/without EMERGENY registration
            testcase TD_VoNR_ECO_INT_5DR_01() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                        PX_DIAMETER_GX_INTERFACENAME,
                                                        PX_DIAMETER_S6A_INTERFACENAME,
                                                        PX_NGAP_N1N2_INTERFACENAME,
                                                        PX_HTTP_N5_INTERFACENAME
                                                        })){
                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile

                    // test body
                    // Step 1
                    f_mtc_check_TP_N1N2_AMF_ECO_DRG_01(vc_5g_monitor_components.ngap, true);
                    f_mtc_check_TP_N1N2_AMF_ECO_DRG_02(vc_5g_monitor_components.ngap, true);
                    
                    // postamble
                    f_mtc_userRadioEnabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_ECO_INT_5DR_01

            
            testcase TD_VoNR_ECO_INT_5DR_02() runs on FiveGNRTestCoordinator system FiveGNRIotSystemInterface {
                
                var IotEquipmentUser v_ueA    := f_cf_create_IotEquipmentUser ( c_userUE_A_emergency );
                var ImsUserInfo v_userInfoA   := f_getSipUserId ( PX_EUT_A );

                f_set5GNRMonIterfacesAvailability();
                // Check required monitor interfaces due to TD
                if (f_check5GNRRequiredMonitorInterface({
                                                        PX_DIAMETER_GX_INTERFACENAME,
                                                        PX_DIAMETER_S6A_INTERFACENAME,
                                                        PX_NGAP_N1N2_INTERFACENAME,
                                                        PX_HTTP_N5_INTERFACENAME
                                                        })){
                    var SipMessage v_sip;
                    f_cf_create5GNRMonitor();

                    // map/connect component ports
                    f_cf_adapter_up ( );
                    f_cf_user_up ( v_ueA );
                    f_cf_5GNRMonitor_Up();

                    // preamble
                    f_mtc_userRadioEnabled ( v_ueA, true, true ); // UA-A trigger an initial network_attachment by enabling radio interface of its mobile
                    /*establish session!!!*/
                    // test body
                    // Step 2
                    f_mtc_check_TP_GM_PCSCF_5G_ECO_BYE_01(vc_5g_monitor_components.gmA, true, v_sip);
                    f_mtc_check_TP_MW_PCSCF_5G_ECO_BYE_01(vc_5g_monitor_components.mwPS, true, v_sip);
                    f_mtc_check_TP_MM_ECSCF_5G_ECO_BYE_01(vc_5g_monitor_components.mwPI, true, v_sip);
                    f_mtc_check_TP_MX_ECSCF_5G_ECO_BYE_01(vc_5g_monitor_components.mwEB, true, v_sip);
                    f_mtc_check_TP_MI_ECSCF_5G_ECO_BYE_01(vc_5g_monitor_components.mwPI, true, v_sip);
                    f_mtc_check_TP_GM_PCSCF_5G_ECO_200OK_BYE_01(vc_5g_monitor_components.gmA, true, v_sip);
                    // Step 3
                    f_mtc_check_TP_RX_PCRF_5G_ECO_STA_02(vc_5g_monitor_components.rx, true);
                    f_mtc_check_TP_N5_PCF_5G_ECO_PDA_01(vc_5g_monitor_components.n5, true);
                    // Step 5
                    f_mtc_check_TP_N1N2_AMF_ECO_PDUM_03(vc_5g_monitor_components.ngap, true);
                    f_mtc_check_TP_N1N2_AMF_ECO_DRG_01(vc_5g_monitor_components.ngap, true);
                    
                    // postamble
                    //f_mtc_userRadioDisabled ( v_ueA, false, true );

                    //unmap/disconnect component ports
                    f_cf_user_down ( v_ueA );
                    f_cf_5GNRMonitor_Down();
                    f_cf_adapter_down ( );
                }else{
                    //log...
                    setverdict (inconc,"At least one required monitor interface SHALL be selected! Check PIXITs")
                }
            } // End of testcase TD_VoNR_ECO_INT_5DR_02

        } // End of group Network_5G_DeRegistration

    } // End of group Interoperability  



} // End of module AtsIms5gIot_TD_5GDRG