Commit 79d00f6f authored by YannGarcia's avatar YannGarcia
Browse files

Validate UEidentityAPI BI_BO tests

parent 37acaed1
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -13,15 +13,13 @@ LibItsHttp_Pics.PICS_HEADER_HOST := "192.168.0.5"
LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"

LibMec_Pics.PICS_MEC_PLAT := true
LibMec_Pics.PICS_RNIS     := true
LibMec_Pics.PICS_RNIS     := false

LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED         := true
LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED         := true
LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED         := true
LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED         := false

UEidentityAPI_Pics.PICS_UE_IDENTITY_API_SUPPORTED    := true

BwManagementAPI_Pics.PICS_BWMANAGEMENT_API_SUPPORTED := true
BwManagementAPI_Pics.PICS_BWMANAGEMENT_API_SUPPORTED := false

[LOGGING]
# In this section you can specify the name of the log file and the classes of events
+4 −0
Original line number Diff line number Diff line
@@ -30,6 +30,10 @@ module AtsMec_TestControl {
        execute(TC_MEC_PLAT_MP1_UETAG_BV_001());
        execute(TC_MEC_PLAT_MP1_UETAG_BV_002());
        execute(TC_MEC_PLAT_MP1_UETAG_BV_003());
        execute(TC_MEC_PLAT_MP1_UETAG_BI_001());
        execute(TC_MEC_PLAT_MP1_UETAG_BI_002());
        execute(TC_MEC_PLAT_MP1_UETAG_BI_003());
        execute(TC_MEC_PLAT_MP1_UETAG_BI_004());
      }
      if (PICS_LOCATION_API_SUPPORTED) {
        execute(TC_MEC_PLAT_MP1_INF_BV_001());
+228 −0
Original line number Diff line number Diff line
@@ -232,6 +232,234 @@ module AtsMec_UEidentityAPI_TestCases {
      f_cf_01_http_down();
    } // End of testcase TC_MEC_PLAT_MP1_UETAG_BV_003
    
    /**
     * @desc Check that the IUT responds with ProblemDetails on information on an unknown UE Identity tag when queried by a MEC Application
     * @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2
     */
    testcase TC_MEC_PLAT_MP1_UETAG_BI_001() runs on HttpComponent system HttpTestAdapter {
      // Local variables
      var HeaderLines v_headers;
      var HttpMessage v_response;
        
      // Test control
      if (not(PICS_MEC_PLAT) or not(PICS_UE_IDENTITY_API_SUPPORTED)) {
        log("*** " & testcasename() & ": PICS_MEC_PLAT and PICS_LOCATION_API_SUPPORTED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }
        
      // Test component configuration
      f_cf_01_http_up();
        
      // Test adapter configuration
        
      // Preamble
      f_init_default_headers_list(-, -, v_headers);
      httpPort.send(
                    m_http_request(
                                   m_http_request_get(
                                                      PX_ME_APP_Q_UE_IDENTITY_ID_URI & oct2char(unichar2oct(PX_APP_INSTANCE_ID, "UTF-8")) & "/ue_identity_tag_info?ueIdentityTag=" & oct2char(unichar2oct(PX_UE_IDENTITY_TAG_UNKNOWN, "UTF-8")),
                                                      v_headers
                                                      )
                                   )
                    );
      f_selfOrClientSyncAndVerdict(c_prDone, e_success);
      
      // Test Body
      tc_ac.start;
      alt {
        [] httpPort.receive(
                            mw_http_response(
                                             mw_http_response_404_not_found(
                                                                            mw_http_message_body_json(
                                                                                                      mw_body_json_ue_identity_problem_details(
                                                                                                                                               mw_problem_details(
                                                                                                                                                                  -, -, 404
                                                                                                                                                                  )))))) -> value v_response {
          log("*** " & testcasename() & ": PASS: IUT successfully responds with a ProblemDetails set to 404 Not Found ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
        }
        [] tc_ac.timeout {
          log("*** " & testcasename() & ": INCONC: Expected message not received ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
        }
      } // End of 'alt' statement
        
      // Postamble
      f_cf_01_http_down();
    } // End of testcase TC_MEC_PLAT_MP1_UETAG_BI_001
    
    /**
     * @desc Check that the IUT responds with ProblemDetails on information an unknown Application Instance Identifier when queried by a MEC Application
     * @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2
     */
    testcase TC_MEC_PLAT_MP1_UETAG_BI_002() runs on HttpComponent system HttpTestAdapter {
      // Local variables
      var HeaderLines v_headers;
      var HttpMessage v_response;
        
      // Test control
      if (not(PICS_MEC_PLAT) or not(PICS_UE_IDENTITY_API_SUPPORTED)) {
        log("*** " & testcasename() & ": PICS_MEC_PLAT and PICS_LOCATION_API_SUPPORTED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }
        
      // Test component configuration
      f_cf_01_http_up();
        
      // Test adapter configuration
        
      // Preamble
      f_init_default_headers_list(-, -, v_headers);
      httpPort.send(
                    m_http_request(
                                   m_http_request_get(
                                                      PX_ME_APP_Q_UE_IDENTITY_ID_URI & oct2char(unichar2oct(PX_APP_INSTANCE_ID_UNKNOWN, "UTF-8")) & "/ue_identity_tag_info?ueIdentityTag=" & oct2char(unichar2oct(PX_UE_IDENTITY_TAG, "UTF-8")),
                                                      v_headers
                                                      )
                                   )
                    );
      f_selfOrClientSyncAndVerdict(c_prDone, e_success);
      
      // Test Body
      tc_ac.start;
      alt {
        [] httpPort.receive(
                            mw_http_response(
                                             mw_http_response_404_not_found(
                                                                            mw_http_message_body_json(
                                                                                                      mw_body_json_ue_identity_problem_details(
                                                                                                                                               mw_problem_details(
                                                                                                                                                                  -, -, 404
                                                                                                                                                                  )))))) -> value v_response {
          log("*** " & testcasename() & ": PASS: IUT successfully responds with a ProblemDetails set to 404 Not Found ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
        }
        [] tc_ac.timeout {
          log("*** " & testcasename() & ": INCONC: Expected message not received ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
        }
      } // End of 'alt' statement
        
      // Postamble
      f_cf_01_http_down();
    } // End of testcase TC_MEC_PLAT_MP1_UETAG_BI_002
    
    /**
     * @desc Check that the IUT responds with ProblemDetails on information an invalid URI
     * @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2
     */
    testcase TC_MEC_PLAT_MP1_UETAG_BI_003() runs on HttpComponent system HttpTestAdapter {
      // Local variables
      var HeaderLines v_headers;
      var HttpMessage v_response;
        
      // Test control
      if (not(PICS_MEC_PLAT) or not(PICS_UE_IDENTITY_API_SUPPORTED)) {
        log("*** " & testcasename() & ": PICS_MEC_PLAT and PICS_LOCATION_API_SUPPORTED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }
        
      // Test component configuration
      f_cf_01_http_up();
        
      // Test adapter configuration
        
      // Preamble
      f_init_default_headers_list(-, -, v_headers);
      httpPort.send(
                    m_http_request(
                                   m_http_request_get(
                                                      PX_ME_APP_Q_UE_IDENTITY_ID_URI & oct2char(unichar2oct(PX_APP_INSTANCE_ID, "UTF-8")) & "/ue_identity_tag_information?ueIdentityTag=" & oct2char(unichar2oct(PX_UE_IDENTITY_TAG, "UTF-8")),
                                                      v_headers
                                                      )
                                   )
                    );
      f_selfOrClientSyncAndVerdict(c_prDone, e_success);
      
      // Test Body
      tc_ac.start;
      alt {
        [] httpPort.receive(
                            mw_http_response(
                                             mw_http_response_400_bad_request(
                                                                              mw_http_message_body_json(
                                                                                                        mw_body_json_ue_identity_problem_details(
                                                                                                                                                 mw_problem_details(
                                                                                                                                                                    -, -, 400
                                                                                                                                                                    )))))) -> value v_response {
          log("*** " & testcasename() & ": PASS: IUT successfully responds with a ProblemDetails set to 404 Not Found ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
        }
        [] tc_ac.timeout {
          log("*** " & testcasename() & ": INCONC: Expected message not received ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
        }
      } // End of 'alt' statement
        
      // Postamble
      f_cf_01_http_down();
    } // End of testcase TC_MEC_PLAT_MP1_UETAG_BI_003
    
    /**
     * @desc Check that the IUT responds with ProblemDetails on information on not allowed request
     * @see https://forge.etsi.org/gitlab/mec/MEC-tests/blob/master/Test%20Purposes/Plat/Mp1/UeIdentity/PlatUeIdentity.tplan2
     */
    testcase TC_MEC_PLAT_MP1_UETAG_BI_004() runs on HttpComponent system HttpTestAdapter {
      // Local variables
      var HeaderLines v_headers;
      var HttpMessage v_response;
        
      // Test control
      if (not(PICS_MEC_PLAT) or not(PICS_UE_IDENTITY_API_SUPPORTED)) {
        log("*** " & testcasename() & ": PICS_MEC_PLAT and PICS_LOCATION_API_SUPPORTED required for executing the TC ***");
        setverdict(inconc);
        stop;
      }
        
      // Test component configuration
      f_cf_01_http_up();
        
      // Test adapter configuration
        
      // Preamble
      f_init_default_headers_list(-, -, v_headers);
      httpPort.send(
                    m_http_request(
                                   m_http_request_get(
                                                      PX_ME_APP_Q_UE_IDENTITY_ID_URI & oct2char(unichar2oct(APP_INSTANCE_ID_WITH_RESTRICTED_ACCESS, "UTF-8")) & "/ue_identity_tag_info?ueIdentityTag=" & oct2char(unichar2oct(PX_UE_IDENTITY_TAG, "UTF-8")),
                                                      v_headers
                                                      )
                                   )
                    );
      f_selfOrClientSyncAndVerdict(c_prDone, e_success);
      
      // Test Body
      tc_ac.start;
      alt {
        [] httpPort.receive(
                            mw_http_response(
                                             mw_http_response_403_forbidden(
                                                                            mw_http_message_body_json(
                                                                                                      mw_body_json_ue_identity_problem_details(
                                                                                                                                               mw_problem_details(
                                                                                                                                                                  -, -, 403
                                                                                                                                                                  )))))) -> value v_response {
          log("*** " & testcasename() & ": PASS: IUT successfully responds with a ProblemDetails set to 404 Not Found ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
        }
        [] tc_ac.timeout {
          log("*** " & testcasename() & ": INCONC: Expected message not received ***");
          f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
        }
      } // End of 'alt' statement
        
      // Postamble
      f_cf_01_http_down();
    } // End of testcase TC_MEC_PLAT_MP1_UETAG_BI_004
    
  } // End of group me_app_role 
  
} // End of module AtsMec_TestCases 
+2 −1
Original line number Diff line number Diff line
@@ -7,12 +7,13 @@ module BwManagementAPI_TypesAndValues {
  import from LibCommon_BasicTypesAndValues all;

  /**
   * @desc 
   * @desc Problem Details for HTTP APIs
   * @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
   * @member title A short, human-readable summary of the problem type
   * @member status The HTTP status code for this occurrence of the problem
   * @member detail A human-readable explanation specific to this occurrence of the problem
   * @member instance A URI reference that identifies the specific occurrence of the problem
   * @see IETF RFC 7807 Clause 3.  The Problem Details JSON Object
   */
  type record ProblemDetails {
    JSON.String type_,
+2 −1
Original line number Diff line number Diff line
@@ -11,12 +11,13 @@ module RnisAPI_TypesAndValues {
  import from LibCommon_BasicTypesAndValues all;
  
  /**
   * @desc 
   * @desc Problem Details for HTTP APIs
   * @member type_ A URI reference according to IETF RFC 3986 that identifies the problem type
   * @member title A short, human-readable summary of the problem type
   * @member status The HTTP status code for this occurrence of the problem
   * @member detail A human-readable explanation specific to this occurrence of the problem
   * @member instance A URI reference that identifies the specific occurrence of the problem
   * @see IETF RFC 7807 Clause 3.  The Problem Details JSON Object
   */
  type record ProblemDetails {
    JSON.String type_,
Loading