Commit 9d271cbd authored by garciay's avatar garciay
Browse files
parents bb0bbd22 07c29c2a
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
[MODULE_PARAMETERS]
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.

LibNg112_Pics.PICS_LIS_IUT := false;
LibNg112_Pics.PICS_ECRF_IUT := false;
LibNg112_Pics.PICS_ESRP_IUT := true;

LibCommon_Time.PX_TAC := 30.0

#LibItsHttp_Pics.PICS_HEADER_HOST := "lis.gridgears.io" # Used for LIS
@@ -81,8 +85,9 @@ system.httpPort.params := "HTTP(codecs=lost:lost_codec;held:held_codec)/TCP(debu
#AtsNg112_TestCases.TC_ECRF_HTTP_POST_BV_09
#AtsNg112_TestCases.TC_ECRF_HTTP_POST_BV_10
#AtsNg112_TestCases.TC_ECRF_HTTP_POST_BV_11
AtsNg112_TestCases.TC_ECRF_HTTP_POST_BV_12
#AtsNg112_TestCases.TC_ECRF_HTTP_POST_BV_12
#AtsNg112_TestCases.TC_ECRF_HTTP_POST_BV_13
AtsNg112_TestCases.control

[GROUPS]
# In this section you can specify groups of hosts. These groups can be used inside the
+109 −28
Original line number Diff line number Diff line
@@ -73,7 +73,6 @@ module AtsNg112_TestCases {
  
  // LibHttp
  import from LibItsHttp_TypesAndValues all;
  import from LibItsHttp_XmlMessageBodyTypes all;
  import from LibItsHttp_Functions all;
  import from LibItsHttp_Templates all;
  import from LibItsHttp_XmlTemplates all;
@@ -81,14 +80,21 @@ module AtsNg112_TestCases {
  
  // LibSip
  import from LibSip_SIPTypesAndValues all;
  import from LibSip_Steps all;
  import from LibSip_Templates all;
  import from LibSip_Interface all;
  
  // LibIms
  import from LibIms_SIPTypesAndValues all;
  import from LibIms_Steps all;
  import from LibIms_Templates all;
  import from LibIms_Interface all;
  
  // LibNg112
  import from LibNg112_TypesAndValues all;
  import from LibNg112_Templates all;
  import from LibNg112_Functions all;
  import from LibNg112_TestSystem all;
  import from LibNg112_Steps all;
  import from LibNg112_Pics all;
  import from LibNg112_Pixits all;
  
@@ -1503,8 +1509,8 @@ module AtsNg112_TestCases {
                                                                                                                                                                    )
                                                                                                                                                         },
                                                                                                                                                       -,
                                                                                                                                                       mw_path(
                                                                                                                                                               { mw_via(PX_V_FIRE_PATH) }
                                                                                                                                                       LibItsHttp_XmlTemplates.mw_path(
                                                                                                                                                                                       { LibItsHttp_XmlTemplates.mw_via(PX_V_FIRE_PATH) }
                                                                                                                                                                                       ),
                                                                                                                                                       -,
                                                                                                                                                       -,
@@ -1591,8 +1597,8 @@ module AtsNg112_TestCases {
                                                                                                                                                                    )
                                                                                                                                                         },
                                                                                                                                                       -,
                                                                                                                                                       mw_path(
                                                                                                                                                               { mw_via(PX_V_FIRE_PATH) }
                                                                                                                                                       LibItsHttp_XmlTemplates.mw_path(
                                                                                                                                                                                       { LibItsHttp_XmlTemplates.mw_via(PX_V_FIRE_PATH) }
                                                                                                                                                                                       ),
                                                                                                                                                       -,
                                                                                                                                                       -,
@@ -1689,8 +1695,8 @@ module AtsNg112_TestCases {
                                                                                                                                                                    )
                                                                                                                                                         },
                                                                                                                                                       -,
                                                                                                                                                       mw_path(
                                                                                                                                                               { mw_via }
                                                                                                                                                       LibItsHttp_XmlTemplates.mw_path(
                                                                                                                                                                                       { LibItsHttp_XmlTemplates.mw_via }
                                                                                                                                                                                       ),
                                                                                                                                                       -,
                                                                                                                                                       -,
@@ -1759,7 +1765,9 @@ module AtsNg112_TestCases {
                                                                                            mw_body_xml_list_services_response(
                                                                                                                               mw_list_services_response(
                                                                                                                                                         { "urn:service:sos.fire", "urn:service:sos.police" },
                                                                                                                                                         mw_path({ mw_via })
                                                                                                                                                         LibItsHttp_XmlTemplates.mw_path(
                                                                                                                                                                                         { LibItsHttp_XmlTemplates.mw_via }
                                                                                                                                                                                         )
                                                                                                                                                         )))))) -> value v_response {
            tc_ac.stop;
            
@@ -1831,7 +1839,7 @@ module AtsNg112_TestCases {
                                                                                            mw_body_xml_list_services_by_location_response(
                                                                                                                                           mw_list_services_by_location_response(
                                                                                                                                                                                 { "urn:service:sos.police" },
                                                                                                                                                                                 mw_path({ mw_via }),
                                                                                                                                                                                 LibItsHttp_XmlTemplates.mw_path({ LibItsHttp_XmlTemplates.mw_via }),
                                                                                                                                                                                 -,
                                                                                                                                                                                 mw_location_used(PX_LOST_ID)
                                                                                                                                                                                 )))))) -> value v_response {
@@ -1903,7 +1911,7 @@ module AtsNg112_TestCases {
                                                                                            mw_body_xml_list_services_by_location_response(
                                                                                                                                           mw_list_services_by_location_response(
                                                                                                                                                                                 { "urn:service:sos.fire", "urn:service:sos.police" },
                                                                                                                                                                                 mw_path({ mw_via }),
                                                                                                                                                                                 LibItsHttp_XmlTemplates.mw_path({ mw_via }),
                                                                                                                                                                                 -,
                                                                                                                                                                                 mw_location_used(PX_LOST_ID)
                                                                                                                                                                                 )))))) -> value v_response {
@@ -1975,7 +1983,7 @@ module AtsNg112_TestCases {
                                                                                            mw_body_xml_list_services_by_location_response(
                                                                                                                                           mw_list_services_by_location_response(
                                                                                                                                                                                 { "urn:service:sos.police" },
                                                                                                                                                                                 mw_path({ mw_via }),
                                                                                                                                                                                 LibItsHttp_XmlTemplates.mw_path({ mw_via }),
                                                                                                                                                                                 -,
                                                                                                                                                                                 mw_location_used(PX_LOST_ID)
                                                                                                                                                                                 )))))) -> value v_response {
@@ -2001,11 +2009,13 @@ module AtsNg112_TestCases {
    /**
     * @desc "IUT successfully forwards an incoming SIP INVITE to the correct downstream element, based on the ECRF response" 
     */
    testcase TC_ESRP_SIP_INVITE_BV_01() runs on HttpSipComponent system TestAdapter {
    testcase TC_ESRP_SIP_INVITE_BV_01(
                                      in CSeq p_cSeq_s
                                      ) runs on HttpImsComponent system TestAdapter {
        // Local variables
        var HttpComponent v_ecrf;
        var SipComponent v_psap;
        var CSeq v_cSeq_s := valueof(m_cSeq(1, "INVITE"));
        var ImsComponent v_ue;
        var ImsComponent v_psap;
        
        // Test control
        if (not(PICS_ESRP_IUT) or (not PICS_HTTP_POST_REQUEST) or (not PICS_SERVICE_LOST) or not(PICS_E_SIP_URN1) or not(PICS_L_FIS_GEO1)) {
@@ -2015,7 +2025,7 @@ module AtsNg112_TestCases {
        }
        
        // Test component configuration
        f_cf_02_up(v_ecrf, v_psap);
        f_cf_03_up(v_ecrf, v_ue, v_psap);
        
        // Test adapter configuration
        
@@ -2023,11 +2033,12 @@ module AtsNg112_TestCases {
        
        // Test Body
        v_ecrf.start(f_TC_ESRP_SIP_INVITE_BV_01_ecrf());
        v_psap.start(f_TC_ESRP_SIP_INVITE_BV_01_psap(v_cSeq_s));
        f_serverSync2ClientsAndStop({c_prDone, c_tbDone, c_poDone});
        f_incCSeq(p_cSeq_s); v_ue.start(f_TC_ESRP_SIP_INVITE_BV_01_ue(p_cSeq_s));
        f_incCSeq(p_cSeq_s); v_psap.start(f_TC_ESRP_SIP_INVITE_BV_01_psap(p_cSeq_s));
        f_serverSyncNClientsAndStop(3, {c_prDone, c_tbDone, c_poDone});
        
        // Postamble
        f_cf_02_down(v_ecrf, v_psap);
        f_cf_03_down(v_ecrf, v_ue, v_psap);
      
    } // End of testcase TC_ESRP_SIP_INVITE_BV_01
    
@@ -2041,25 +2052,54 @@ module AtsNg112_TestCases {
        // Test control
        
        // Test component configuration
        f_cf_01_http_up();
        
        // Test adapter configuration
        
        // Preamble
        f_init_default_headers_list(v_headers);
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
        f_selfOrClientSyncAndVerdictTestBody(c_prDone, e_error);
        
        // test body
        tc_ac.start;
        alt {
          [] httpPort.receive(
                              mw_http_request(
                                              mw_http_request_post(
                                                                   PICS_ECRF_URI,
                                                                   v_headers,
                                                                   mw_http_message_body_xml(
                                                                                            mw_body_xml_find_service_request(
                                                                                                                             mw_find_service_request(
                                                                                                                                                     {
                                                                                                                                                      mw_location(
                                                                                                                                                                  PX_LOST_ID,
                                                                                                                                                                  { mw_extension_point },
                                                                                                                                                                  "geodetic-2d" // TODO Use a Pixit
                                                                                                                                                                  )
                                                                                                                                                     },
                                                                                                                                                     { },
                                                                                                                                                     PX_E_POLICE_SERVICE_URN
          )))))) {
            tc_ac.stop;
            
            f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
          }
          [] tc_ac.timeout {
            log("*** " & testcasename() & ": INCONC: Expected message not received ***");
            f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_timeout);
          }
        } // End of 'alt' staement
        
        // Postamble
        f_cf_01_http_down();
        
      } // End of function f_TC_ESRP_SIP_INVITE_BV_01_ecrf
      
      function f_TC_ESRP_SIP_INVITE_BV_01_psap(
      function f_TC_ESRP_SIP_INVITE_BV_01_ue(
                                               in CSeq p_cSeq_s
                                               ) runs on SipComponent {
                                               ) runs on ImsComponent {
        // Local variables
        var HeaderLines v_headers;
        var HttpMessage v_response;
        
        // Test control
        
@@ -2068,10 +2108,51 @@ module AtsNg112_TestCases {
        // Test adapter configuration
        
        // Preamble
        f_incCSeq(p_cSeq_s);
        f_IMS_preamble_woRegistration(p_cSeq_s)
        LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, f_initSipUrl(c_userProfile_Ng112), f_initSipUrl(c_userProfile_UE1atSUThome));
        f_SendINVITE(m_INVITE_Request_noBody_UE(vc_requestUri, 
                                                vc_callId,
                                                p_cSeq_s, vc_from, 
                                                vc_to,
                                                vc_via, 
                                                vc_contact
                                                ));
        f_awaitingResponse(mw_Response_Base(c_statusLine100, vc_callId, vc_cSeq));
        f_selfOrClientSyncAndVerdictTestBody(c_prDone, e_error);
        
        // test body
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
        
        // Postamble
        
      } // End of function f_TC_ESRP_SIP_INVITE_BV_01_ue
      
      function f_TC_ESRP_SIP_INVITE_BV_01_psap(
                                               in CSeq p_cSeq_s
                                               ) runs on ImsComponent {
        // Local variables
        
        // Test control
        
        // Test component configuration
        
        // Test adapter configuration
        
        // Preamble
        f_IMS_preamble_woRegistration(p_cSeq_s)
        LibIms_Steps.f_setHeadersINVITE(p_cSeq_s, f_initSipUrl(c_userProfile_Ng112), f_initSipUrl(c_userProfile_UE1atSUThome));
        f_selfOrClientSyncAndVerdictTestBody(c_prDone, e_error);
        
        // test body
        f_awaitingINVITE(mw_INVITE_Request_noBody_UE(vc_requestUri, 
                                                vc_callId,
                                                p_cSeq_s, vc_from, 
                                                vc_to,
                                                vc_via, 
                                                vc_contact
                                                ));
        f_awaitingResponse(mw_Response_Base(c_statusLine100, vc_callId, vc_cSeq));
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
        
        // Postamble
        
+61 −52
Original line number Diff line number Diff line
module AtsNg112_TestControl {
  
  // LibSip
  import from LibSip_SIPTypesAndValues all;
  
  // LibNg112
  import from LibNg112_Pics all;
  
@@ -8,6 +11,12 @@ module AtsNg112_TestControl {
  
  // Test Execution
  control {
    var CSeq v_cSeq := {
      fieldName := CSEQ_E,
      seqNumber := 0,
      method := "INVITE"
    }
    
    if (PICS_LIS_IUT) {
    if (PICS_HTTP_POST_REQUEST and PICS_LOCATION_HELD) {
      if (PICS_H_QRY_GEO1) { execute(TC_LIS_HTTP_POST_BV_01()); }
@@ -50,7 +59,7 @@ module AtsNg112_TestControl {
    }
    if (PICS_ESRP_IUT) {
    if (PICS_HTTP_POST_REQUEST and PICS_SERVICE_LOST and PICS_E_SIP_URN1) {
          if (PICS_L_FIS_GEO1) { execute(TC_ESRP_SIP_INVITE_BV_01()); }
      if (PICS_L_FIS_GEO1) { execute(TC_ESRP_SIP_INVITE_BV_01(v_cSeq)); }
    }
    }
  } // End of 'control' statement
+56 −16
Original line number Diff line number Diff line
@@ -7,7 +7,10 @@ module LibNg112_Functions {
    
    // LibSip
    import from LibSip_SIPTypesAndValues all;
    import from LibSip_Interface all;
    
    // LibIms
    import from LibIms_SIPTypesAndValues all;
    import from LibIms_Interface all;
    
    // LibHttp
    import from LibItsHttp_TypesAndValues all;
@@ -37,10 +40,10 @@ module LibNg112_Functions {
      
      function f_cf_02_up(
                          out HttpComponent p_ecrf,
                          out SipComponent p_psap
                          ) runs on HttpSipComponent {
                          out ImsComponent p_psap
                          ) runs on HttpImsComponent {
        p_ecrf := HttpComponent.create alive;
        p_psap := SipComponent.create alive;
        p_psap := ImsComponent.create alive;
        
        connect(p_ecrf:syncPort, self:syncPort);
        connect(p_psap:syncPort, self:syncPort);
@@ -49,16 +52,22 @@ module LibNg112_Functions {
        
      } // End of function f_cf_02_up
      
      /**
       * @desc Default handling cf01 de-initialisation.
       */
      altstep a_cf_01_http_down() runs on HttpComponent {
          [] a_shutdown() {
              f_cf_01_http_down();
              log("*** a_cf_01_http_down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***");
              stop;
          }
      } // End of altstep a_cf_01_http_down
      function f_cf_03_up(
                          out HttpComponent p_ecrf,
                          out ImsComponent p_ue,
                          out ImsComponent p_psap
                          ) runs on HttpImsComponent {
        p_ecrf := HttpComponent.create alive;
        p_psap := ImsComponent.create alive;
        
        connect(p_ecrf:syncPort, self:syncPort);
        connect(p_psap:syncPort, self:syncPort);
        connect(p_ue:syncPort, self:syncPort);
        map(p_ecrf:httpPort, system:httpPort);
        map(p_psap:SIPP, system:SIPP);
        map(p_ue:SIPP, system:SIPP);
        
      } // End of function f_cf_03_up
      
    } // End of group preambles
    
@@ -77,8 +86,8 @@ module LibNg112_Functions {
      
      function f_cf_02_down(
                            inout HttpComponent p_ecrf,
                            inout SipComponent p_psap
                            ) runs on HttpSipComponent {
                            inout ImsComponent p_psap
                            ) runs on HttpImsComponent {
        
        disconnect(p_ecrf:syncPort, self:syncPort);
        disconnect(p_psap:syncPort, self:syncPort);
@@ -91,6 +100,37 @@ module LibNg112_Functions {
        deactivate;
      } // End of function f_cf_02_down
      
      function f_cf_03_down(
                            inout HttpComponent p_ecrf,
                            inout ImsComponent p_ue,
                            inout ImsComponent p_psap
                            ) runs on HttpImsComponent {
        
        disconnect(p_ecrf:syncPort, self:syncPort);
        disconnect(p_ue:syncPort, self:syncPort);
        disconnect(p_psap:syncPort, self:syncPort);
        unmap(p_ecrf:httpPort, system:httpPort);
        unmap(p_ue:SIPP, system:SIPP);
        unmap(p_psap:SIPP, system:SIPP);
        
        p_ecrf.done;
        p_ue.done;
        p_psap.done;
        
        deactivate;
      } // End of function f_cf_03_down
      
      /**
       * @desc Default handling cf01 de-initialisation.
       */
      altstep a_cf_01_http_down() runs on HttpComponent {
          [] a_shutdown() {
              f_cf_01_http_down();
              log("*** a_cf_01_http_down: INFO: TEST COMPONENT NOW STOPPING ITSELF! ***");
              stop;
          }
      } // End of altstep a_cf_01_http_down
      
    } // End of group postambles
    
    /**
+3 −3
Original line number Diff line number Diff line
@@ -5,17 +5,17 @@ module LibNg112_Pics {
  /**
   * @desc Has the IUT the role of LIS?
   */
  modulepar boolean PICS_LIS_IUT := true;
  modulepar boolean PICS_LIS_IUT := false;
  
  /**
   * @desc Has the IUT the role of ECRF?
   */
  modulepar boolean PICS_ECRF_IUT := true;
  modulepar boolean PICS_ECRF_IUT := false;
  
  /**
   * @desc Has the IUT the role of ESRP?
   */
  modulepar boolean PICS_ESRP_IUT := true;
  modulepar boolean PICS_ESRP_IUT := false;
  
  /**
   * @desc Does the IUT support HTTP GET request method?
Loading