Commit 3a63b5e5 authored by Michael Proestler's avatar Michael Proestler
Browse files

Partial Implementation of TC_ESRP_QUEUE_STATE_BV_01

parent c9da9a45
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -7,7 +7,8 @@ LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"
## Add HTTP Header with Testcase Name
## Add HTTP Header with Testcase Name
PX_ADD_TC_NAME_HTTP_HEADER := true
PX_ADD_TC_NAME_HTTP_HEADER := true


# Dequeue Registration
# Only relevant for SIP Register Target Testcase
PX_SIP_REGISTRATION := true
 
 




@@ -35,14 +36,15 @@ EcrfRedirectTarget.httpPort.params := "HTTP(codecs=lost:lost_codec)/TCP(debug=1,
# LIS
# LIS
Lis.httpPort.params := "HTTP(codecs=held:held_codec)/TCP(debug=1,server_mode=1,local_port=8084,use_ssl=0)"
Lis.httpPort.params := "HTTP(codecs=held:held_codec)/TCP(debug=1,server_mode=1,local_port=8084,use_ssl=0)"


#system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=host.docker.internal,port=8090,use_ssl=0)"
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=host.docker.internal,port=8090,use_ssl=0)"
#system.SIPP.params := "SIP/TCP(debug=1,server_mode=1,local_port=5070,use_ssl=0)"
system.SIPP.params := "SIP/TCP(debug=1,server_mode=1,local_port=5080,use_ssl=0)"


#Ecrf.httpPort.params := "HTTP(codecs=lost:lost_codec)/TCP(debug=1,server_mode=1,local_port=8080,use_ssl=0)"
#Ecrf.httpPort.params := "HTTP(codecs=lost:lost_codec)/TCP(debug=1,server_mode=1,local_port=8080,use_ssl=0)"


# SIP/PSAP
# SIP/PSAP
Upstream.SIPP.params := "SIP/TCP(debug=1,server=localhost,port=5060,use_ssl=0)"
Upstream.SIPP.params := "SIP/TCP(debug=1,server=localhost,port=5060,use_ssl=0)"
Downstream.SIPP.params := "SIP/TCP(debug=1,local_port=5080,server_mode=1,use_ssl=0)"
Downstream.SIPP.params := "SIP/TCP(debug=1,local_port=5080,server_mode=1,use_ssl=0)"
Psap.SIPP.params := "SIP/TCP(debug=1,server=localhost,port=5060,use_ssl=0)"
#Psap.SIPP.params := "SIP/TCP(debug=1,server_mode=1,local_port=5070,use_ssl=0)"
#Psap.SIPP.params := "SIP/TCP(debug=1,server_mode=1,local_port=5070,use_ssl=0)"


[DEFINE]
[DEFINE]
+46 −0
Original line number Original line Diff line number Diff line
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">

<!-- This program is free software; you can redistribute it and/or      -->
<!-- modify it under the terms of the GNU General Public License as     -->
<!-- published by the Free Software Foundation; either version 2 of the -->
<!-- License, or (at your option) any later version.                    -->
<!--                                                                    -->
<!-- This program is distributed in the hope that it will be useful,    -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      -->
<!-- GNU General Public License for more details.                       -->
<!--                                                                    -->
<!-- You should have received a copy of the GNU General Public License  -->
<!-- along with this program; if not, write to the                      -->
<!-- Free Software Foundation, Inc.,                                    -->
<!-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA             -->
<!--                                                                    -->
<!--                 Sipp default 'uac' scenario.                       -->
<!--                                                                    -->

<scenario name="Basic Sipstone UAC">
  <!-- In client mode (sipp placing calls), the Call-ID MUST be         -->
  <!-- generated by sipp. To do so, use [call_id] keyword.                -->
  
  <pause milliseconds="15000"/>

  <send>
    <![CDATA[
      SUBSCRIBE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: sut <sip:[service]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]
      CSeq: 1 SUBSCRIBE
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Event: emergency-queueState
      Expires: 60            
      Content-Length: 0
    ]]>
  </send>

  <recv response="200" />
</scenario>
+347 −341
Original line number Original line Diff line number Diff line
@@ -187,7 +187,7 @@ module AtsESRP_TestCases {
        f_clientSyncAndVerdictPostamble(c_poDone, e_success);
        f_clientSyncAndVerdictPostamble(c_poDone, e_success);
      } // End of function f_TC_ESRP_SIP_INVITE_BV_01_downstream
      } // End of function f_TC_ESRP_SIP_INVITE_BV_01_downstream


    } // End of group f_TC_ESRP_SIP_INVITE_BV_01
    } // End of group f_TC_ESRP_FIND_SERVICE_BV_01


   /**
   /**
     * @desc "IUT fetches service uri from ECRF with redirect and forwards an incoming call with geodetic location"
     * @desc "IUT fetches service uri from ECRF with redirect and forwards an incoming call with geodetic location"
@@ -226,7 +226,7 @@ module AtsESRP_TestCases {
        // Postamble
        // Postamble
        f_cf_04_down(v_ecrf,v_ecrf_redirect_target, v_upstream, v_downstream);
        f_cf_04_down(v_ecrf,v_ecrf_redirect_target, v_upstream, v_downstream);


    } // End of testcase TC_ESRP_SIP_INVITE_BV_02
    } // End of testcase TC_ESRP_FIND_SERVICE_BV_02


    group f_TC_ESRP_FIND_SERVICE_BV_02 {
    group f_TC_ESRP_FIND_SERVICE_BV_02 {


@@ -367,7 +367,9 @@ module AtsESRP_TestCases {




    }
    }
  } 
  
  
  group FixedTarget {
    /**
    /**
     * @desc "IUT successfully forwards an incoming SIP INVITE to a fixed target"
     * @desc "IUT successfully forwards an incoming SIP INVITE to a fixed target"
     */
     */
@@ -402,7 +404,9 @@ module AtsESRP_TestCases {
        f_cf_06_down(v_upstream, v_downstream);
        f_cf_06_down(v_upstream, v_downstream);


    } // End of testcase TC_ESRP_FIXED_TARGET_SIP_INVITE_BV_01
    } // End of testcase TC_ESRP_FIXED_TARGET_SIP_INVITE_BV_01
  } // End of group FixedTarget
  
  
  group Registration {
    /**
    /**
     * @desc "IUT successfully forwards an incoming SIP INVITE to a fixed target"
     * @desc "IUT successfully forwards an incoming SIP INVITE to a fixed target"
     */
     */
@@ -452,6 +456,146 @@ module AtsESRP_TestCases {
          f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
          f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);


          // Postamble        
          // Postamble        
          f_clientSyncAndVerdictPostamble(c_poDone, e_success);
        }
    } // End of group f_TC_ESRP_TARGET_SIP_REGISTER_BV_01
  } // End of group Registration
  
  group DequeueRegistrationTarget {

    /**
     * @desc "IUT accepts Dequeue Registration"
     */
    testcase TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_01() runs on HttpComponent system TestAdapter  {

      // Test control
      f_check_statements({
        { name := "PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT", val := PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION                                                                
                                                              )
      );
      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      tc_ac.start;
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok(?))

      // Postamble
      f_cf_01_http_down();
    } // TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_01

    /**
     * @desc "IUT sends correct error response for invalid Dequeue Registration"
     */
    testcase TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_02() runs on HttpComponent system TestAdapter  {

      // Test control
      f_check_statements({
        { name := "PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT", val := PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE_INVALID,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION                                                                
                                                              )
      );
      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      tc_ac.start;
      f_awaitingDequeueResponse(mw_http_response_456_bad_queue)      

      // Postamble
      f_cf_01_http_down();
    } // End of TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_02

    /**
     * @desc "IUT sends correct response for Dequeue Deregistration"
     */
    testcase TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_DEREGISTRATION_BV_01() runs on HttpComponent system TestAdapter  {

      // Test control
      f_check_statements({
        { name := "PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT", val := PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE_INVALID,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION                                                                
                                                              )
      );      
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok(?))

      f_sendDequeueRegistration(
                          m_dequeue_registration_request(
                                                          PX_ESRP_DEQUEUE_REGISTRATION_QUEUE_INVALID,
                                                          PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                          0                                                           
                                                        )
      );

      // Test Body
      tc_ac.start;
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok(0))

      // Postamble
      f_cf_01_http_down();
    } // End of TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_DEREGISTRATION_BV_01

  } // End of group DequeueRegistrationTarget

  group QueueState {
    testcase TC_ESRP_QUEUE_STATE_BV_01() runs on HttpSipComponent {


      //
      f_cf_01_up()

      // Preamble
      /** Disable step, fix issue with decoding subscribe before
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_PREFERENCE
                                                              )
      );
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok)
      **/
      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      f_awaitingSubscribeQueueState();
      f_sendSubscribeQueueStateResponse();

      f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);

      // Postamble
      f_cf_01_down()

      f_clientSyncAndVerdictPostamble(c_poDone, e_success);
      f_clientSyncAndVerdictPostamble(c_poDone, e_success);
    }
    }
  }
  }
@@ -790,143 +934,5 @@ module AtsESRP_TestCases {
    } // End of function f_TC_ESRP_LIS_LOCATION_REQUEST  
    } // End of function f_TC_ESRP_LIS_LOCATION_REQUEST  


  } // End of group Common  
  } // End of group Common  
  } // End of group Find Service

  group DequeueRegistrationTarget {

    /**
     * @desc "IUT accepts Dequeue Registration"
     */
    testcase TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_01() runs on HttpComponent system TestAdapter  {

      // Test control
      f_check_statements({
        { name := "PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT", val := PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION                                                                
                                                              )
      );
      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      tc_ac.start;
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok(?))

      // Postamble
      f_cf_01_http_down();
    } // TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_01

    /**
     * @desc "IUT sends correct error response for invalid Dequeue Registration"
     */
    testcase TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_02() runs on HttpComponent system TestAdapter  {

      // Test control
      f_check_statements({
        { name := "PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT", val := PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE_INVALID,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION                                                                
                                                              )
      );
      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      tc_ac.start;
      f_awaitingDequeueResponse(mw_http_response_456_bad_queue)      

      // Postamble
      f_cf_01_http_down();
    } // End of TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_REGISTRATION_BV_02

    /**
     * @desc "IUT sends correct response for Dequeue Deregistration"
     */
    testcase TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_DEREGISTRATION_BV_01() runs on HttpComponent system TestAdapter  {

      // Test control
      f_check_statements({
        { name := "PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT", val := PICS_ESRP_TARGET_DEQUEUE_REGISTRATION_SUPPORT }
      })

      // Test component configuration
      f_cf_01_http_up();

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE_INVALID,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION                                                                
                                                              )
      );      
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok(?))

      f_sendDequeueRegistration(
                          m_dequeue_registration_request(
                                                          PX_ESRP_DEQUEUE_REGISTRATION_QUEUE_INVALID,
                                                          PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                          0                                                           
                                                        )
      );

      // Test Body
      tc_ac.start;
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok(0))

      // Postamble
      f_cf_01_http_down();
    } // End of TC_ESRP_HTTP_DEQUEUE_REGISTRATION_TARGET_DEREGISTRATION_BV_01

  } // End of group DequeueRegistrationTarget

  group QueueState {
    testcase TC_ESRP_QUEUE_STATE_BV_01() runs on HttpSipComponent {


      //
      f_cf_01_up()

      // Preamble
      f_sendDequeueRegistration(
                                m_dequeue_registration_request(
                                                                PX_ESRP_DEQUEUE_REGISTRATION_QUEUE,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_DEQUEUER,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_EXPIRATION,
                                                                PX_ESRP_DEQUEUE_REGISTRATION_PREFERENCE
                                                              )
      );
      f_awaitingDequeueRegistrationResponse(mw_dequeue_response_ok)
      f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

      // Test Body
      f_awaitingSubscribeQueueState();
      f_sendSubscribeQueueStateResponse();

      f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);

      // Postamble
      f_cf_01_down()

      f_clientSyncAndVerdictPostamble(c_poDone, e_success);
    }
  }


} // End of module AtsESRP_TestCases
} // End of module AtsESRP_TestCases
+1 −1
Original line number Original line Diff line number Diff line
@@ -19,7 +19,7 @@ module AtsESRP_TestControl {
    }
    }




    execute(TC_ESRP_FIND_SERVICE_BV_01(v_cSeq));
    execute(TC_ESRP_QUEUE_STATE_BV_01());


  } // End of 'control' statement
  } // End of 'control' statement