/** * @author ETSI/STF498 * @version $Url$ * $Id$ * @dec Testcases module for INT GTPv2-C protocol */ module AtsGtpv2C_TestCases { // Libcommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; import from LibCommon_Time all; import from LibCommon_VerdictControl all; import from LibCommon_Sync all; // LibGtpv2C import from LibGtpv2C_TestSystem all; import from LibGtpv2C_Pics all; import from LibGtpv2C_Configuration all; import from LibGtpv2C_MME_Functions all; import from LibGtpv2C_SGW_Functions all; /** * @desc This group contains all test case for IUT acting as a MME */ group mmeRole { /** * @desc This group contains all test case for IUT acting as a MME * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.1 */ group pathManagement { /** * @desc Verify the successful answering of Echo Request with Echo Response *
* Pics Selection: PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY * Config Id: CF01 * Initial conditions: * with { * EPC and RAN network available * MME is configured with the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * Power on the MME and S-GW * } * Expected behaviour: * ensure that { * when { * Trigger MME to initiate the Echo Request Procedure * } * then { * GTP Echo Request is sent which contains the Recovery Information Element (IE) * and, the Recovery IE is either incorrect or has the wrong format * and, the Echo Response contains the Restart counter and a negative Cause value * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_MME_PM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_MME(); // Start vc_gtpv2c_sgw.start(f_TC_S11_MME_PM_01()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_MME(); } // End of testcase TC_S11_MME_PM_01 /** * @desc Verify the successful answering of Echo Request with Echo Response with a negative cause value *
* Pics Selection: PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY * Config Id: CF01 * Initial conditions: * with { * EPC and RAN network available * MME is configured with the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * Power on the MME and S-GW * } * Expected behaviour: * ensure that { * when { * Trigger MME (or simulator) initiates the Echo Request Procedure with an error * } * then { * GTP Echo Request is sent which contains the Recovery Information Element (IE) * and, the Recovery IE is either incorrect or has the wrong format * and, the Echo Response contains the Restart counter and a negative Cause value * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_02 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_MME_PM_02() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_MME(); // Start vc_gtpv2c_sgw.start(f_TC_S11_MME_PM_02()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_MME(); } // End of testcase TC_S11_MME_PM_02 /** * @desc Verify the GTP version that the sending entity supports. If a GTP network element receives a message of unsupported GTP version, verify that the network element returns a Version Not Supported Indication message and that it discards the received message *
* Pics Selection: PICS_S11_IUT_IS_MME and PICS_VERSION_NOT_SUPPORTED * Config Id: CF01 * Initial conditions: * with { * EPC and RAN network available * Network should be configured as show in Figure 3 above. * MME is configured with the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * Power on the MME and S-GW * } * Expected behaviour: * ensure that { * when { * MME (or simulator) initiates the Version Not supported Procedure by sending a GTP message which contains a version higher than the latest version * } * then { * Verify that any given GTP message (e.g. Echo Request) contains a version that is higher than the latest supported version. * and, verify that the Version not Supported Indication contains the GTP version the network element currently supports * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_03 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.3 */ testcase TC_S11_MME_PM_03() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_VERSION_NOT_SUPPORTED)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_VERSION_NOT_SUPPORTED required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_MME(); // Start vc_gtpv2c_sgw.start(f_TC_S11_MME_PM_03()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_MME(); } // End of testcase TC_S11_MME_PM_03 } // End of group pathManagement /** * @desc This group contains all test case for IUT acting as a MME * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.2 */ group tunnelManagement { /** * @desc Validate the Create Session Request/Response and the Modify Bearer Request/Response Procedure between MME and S-GW as part of the ATTACH Procedure *
* Pics Selection: PICS_S11_IUT_IS_MME and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST * Config Id: CF01 * Initial conditions: * with { * EPC, RAN, and one UE are available. * MME is configured the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * } * Expected behaviour: * ensure that { * when { * UE registers with and attaches to the network to receive services that require registration * A default EPS bearer is setup as result of attachment * This forces the Create Session and Modify Bearer ProcedureTrigger MME (or simulator) initiates the Echo Request Procedure with an error * } * then { * Verify that the MME sends Create Session Request and receives the Create Session Response * and, verify that the MME sends the Modify Bearer Request and receives the Modify Bearer Response as part of the Attach procedure * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_TM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.2.1, 7.2.2, 7.2.7, 7.2.8 */ testcase TC_S11_MME_TM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_MME and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_MME and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf02_S11Up_MME(); // Start vc_gtpv2c_s1mme.start(f_TC_S1_MME_TM_01()); vc_gtpv2c_sgw.start(f_TC_S11_MME_TM_01()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf02_S11Down_MME(); } // End of testcase TC_S11_MME_TM_01 } // End of group tunnelManagement } // End of group mmeRole /** * @desc This group contains all test case for IUT acting as a S-GW */ group sgwRole { /** * @desc This group contains all test case for IUT acting as a MME * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.1 */ group pathManagement { /** * @desc Verify the successful answering of Echo Request with Echo Response *
* Pics Selection: PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY * Config Id: CF01 * Initial conditions: * with { * EPC and RAN network available * MME is configured with the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * Power on the MME and S-GW * } * Expected behaviour: * ensure that { * when { * Trigger MME to initiate the Echo Request Procedure * } * then { * GTP Echo Request is sent which contains the Recovery Information Element (IE) * and, the Recovery IE is either incorrect or has the wrong format. * and, the Echo Response contains the Restart counter and a negative Cause value * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_SGW_PM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_PM_01()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_PM_01 /** * @desc Verify the successful answering of Echo Request with Echo Response with a negative cause value *
* Pics Selection: PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY * Config Id: CF01 * Initial conditions: * with { * EPC and RAN network available * MME is configured with the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * Power on the MME and S-GW * } * Expected behaviour: * ensure that { * when { * Trigger MME (or simulator) initiates the Echo Request Procedure with an error * } * then { * GTP Echo Request is sent which contains the Recovery Information Element (IE) * and, the Recovery IE is either incorrect or has the wrong format * and, the Echo Response contains the Restart counter and a negative Cause value * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_02 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.1 & 7.1.2 */ testcase TC_S11_SGW_PM_02() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_ECHO_REQUEST and PICS_ECHO_REPLY required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_PM_02()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_PM_02 /** * @desc Verify the GTP version that the sending entity supports. If a GTP network element receives a message of unsupported GTP version, verify that the network element returns a Version Not Supported Indication message and that it discards the received message *
* Pics Selection: PICS_S11_IUT_IS_SGW and PICS_VERSION_NOT_SUPPORTED * Config Id: CF01 * Initial conditions: * with { * EPC and RAN network available * Network should be configured as show in Figure 3 above. * MME is configured with the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * Power on the MME and S-GW * } * Expected behaviour: * ensure that { * when { * MME (or simulator) initiates the Version Not supported Procedure by sending a GTP message which contains a version higher than the latest version * } * then { * Verify that any given GTP message (e.g. Echo Request) contains a version that is higher than the latest supported version. * and, verify that the Version not Supported Indication contains the GTP version the network element currently supports * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_PM_03 * @reference ETSI TS 129 274 V9.13.0, clauses 7.1.3 */ testcase TC_S11_SGW_PM_03() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_VERSION_NOT_SUPPORTED)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_VERSION_NOT_SUPPORTED required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_PM_03()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_PM_03 } // End of group pathManagement /** * @desc This group contains all test case for IUT acting as a SGW * @see ETSI TS 103 202-2 V0.0.2 (2014-03), clause 5.2.2 */ group tunnelManagement { /** * @desc Validate the Create Session Request/Response and the Modify Bearer Request/Response Procedure between MME and S-GW as part of the ATTACH Procedure *
* Pics Selection: PICS_S11_IUT_IS_SGW and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST * Config Id: CF01 * Initial conditions: * with { * EPC, RAN, and one UE are available. * MME is configured the GTP Tunnel Parameter. * S-GW is configured with the GTP Tunnel Parameter. * Verify IP connectivity between the two nodes. * } * Expected behaviour: * ensure that { * when { * UE registers with and attaches to the network to receive services that require registration * A default EPS bearer is setup as result of attachment * This forces the Create Session and Modify Bearer ProcedureTrigger MME (or simulator) initiates the Echo Request Procedure with an error * } * then { * Verify that the MME sends Create Session Request and receives the Create Session Response * and, verify that the MME sends the Modify Bearer Request and receives the Modify Bearer Response as part of the Attach procedure * } * } ** @verdict pass on success, inconc on timeout, fail otherwise * * @see ETSI TS 103 202-2 V0.0.2 (2014-03), TP_TM_01 * @reference ETSI TS 129 274 V9.13.0, clauses 7.2.1, 7.2.2, 7.2.7, 7.2.8 */ testcase TC_S11_SGW_TM_01() runs on Gtpv2CComponent system Gtpv2CSystemAdapter { // Local variables // Test control if (not (PICS_S11_IUT_IS_SGW and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST)) { log("*** " & testcasename() & ": PICS_S11_IUT_IS_SGW and PICS_MME_CREATE_SESSION_REQUEST and PICS_MME_CREATE_BEARER_RESPONSE and PICS_MME_MODIFY_BEARER_REQUEST required for executing the TC ***"); setverdict(inconc); stop; } // Test component configuration f_cf01_S11Up_SGW(); // Start vc_gtpv2c_mme.start(f_TC_S11_SGW_TM_01()); // synchronize PTC on 2 sychronization points f_serverSyncNClientsAndStop(2, {c_prDone, c_tbDone, c_poDone}); // Postamble f_cf01_S11Down_SGW(); } // End of testcase TC_S11_SGW_TM_01 } // End of group tunnelManagement } // End of group sgwRole } // End of module AtsGtpv2C_TestCases