Commit 0af7848d authored by Yann Garcia's avatar Yann Garcia
Browse files

Add UEidentityAPI support

parent 3c059675
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -53,6 +53,8 @@ LogEventTypes:= Yes
[EXECUTE]
# In this section you can specify what parts of your test suite you want to execute.
TestCodec_External.tc_encode_LocationInfo
TestCodec_External.tc_encode_UserInfo
TestCodec_External.tc_encode_UeIdentityTags

[GROUPS]
# In this section you can specify groups of hosts. These groups can be used inside the
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ find .. -type f -name "*~" -exec rm {} \;
find .. -type f -name "*.bak" -exec rm {} \;
find .. -type f -name "*.log" -exec rm {} \;

REFERENCES="LibCommon LibHttp LibMec LibMec/LocationAPI"
REFERENCES="LibCommon LibHttp LibMec LibMec/LocationAPI LibMec/UEidentityAPI"
for i in ${REFERENCES}
do
    # TTCN code
+13 −13
Original line number Diff line number Diff line
@@ -86,25 +86,25 @@ module LocationAPI_TypesAndValues {
   * @desc The connection type for the access point.
   */
  type enumerated ConnectionType {
    e_femto,
    e_lte_femto,
    e_smallcell,
    e_lte_smallcell,
    e_wifi,
    e_pico,
    e_micro,
    e_macro,
    e_wimax,
    e_unknown
    Femto,
    LTE_femto,
    Smallcell,
    LTE_smallcell,
    Wifi,
    Pico,
    Micro,
    Macro,
    Wimax,
    Unknown
  }

  /**
   * @desc The operation status of the access point
   */
  type enumerated OperationStatus {
    e_serviceable,
    e_unserviceable,
    e_unknown
    Serviceable,
    Unserviceable,
    Unknown
  }
  
  /**
+2 −2
Original line number Diff line number Diff line
@@ -38,8 +38,8 @@ module UEidentityAPI_TypesAndValues {
   * @desc Status of the resource ueIdentityTagInfo
   */
  type enumerated State {
    e_unregistered,
    e_registered
    UNREGISTERED,
    REGISTERED
  }

  /**
+75 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@ module TestCodec_External {
  // LibMec
  import from LocationAPI_TypesAndValues all;
  import from LocationAPI_Templates all;
  import from UEidentityAPI_TypesAndValues all;
  import from UEidentityAPI_Templates all;
  
  // TestCodec
  import from TestCodec_TestAndSystem all;
@@ -37,4 +39,77 @@ module TestCodec_External {
    }
  } // End of testcase tc_encode_LocationInfo
  
  testcase tc_encode_UserInfo() runs on TCType system TCType {
    var UserInfo v_location_info := valueof(m_user_info("acr:10.0.0.1", "001010000000000000000000000000001", "zone01", "http://example.com/exampleAPI/location/v2/users?address=acr%3A10.0.0.1", TimeStamp:{ 1483231138, 0 }));
    var UserInfo v_location_info_result;
    var universal charstring v_result;
    var universal charstring v_expected_result := "{\"address\":\"acr:10.0.0.1\",\"accessPointId\":\"001010000000000000000000000000001\",\"zoneId\":\"zone01\",\"resourceURL\":\"http://example.com/exampleAPI/location/v2/users?address=acr%3A10.0.0.1\",\"timeStamp\":{\"seconds\":1483231138,\"nanoSeconds\":0}}";
    var bitstring v_enc_msg;
    var integer v_res;
    
    v_enc_msg := encvalue(v_location_info);
    v_result := oct2unichar(bit2oct(v_enc_msg), "UTF-8");
    log("v_result= ", v_result);
    if (match(v_expected_result, v_result)) {
      setverdict(pass, "Encoding succeed");
    } else {
      setverdict(fail, "Encoding failed");
    }
    
    v_res := decvalue(v_enc_msg, v_location_info_result);
    if (v_res == 0) {
      log("v_location_info_result= ", v_location_info_result);
      if (match(v_location_info, v_location_info_result)) {
        setverdict(pass, "Decoding succeed");
      } else {
        setverdict(fail, "Decoding failed");
      }
    } else {
      setverdict(fail, "Decoding operation failed");
    }
  } // End of testcase tc_encode_UserInfo
  
  testcase tc_encode_UeIdentityTags() runs on TCType system TCType {
    var UeIdentityTagInfo v_ue_identity_tags_info := valueof(m_ue_identity_tag_info({ m_ue_identity_tag_item("UeTagA", REGISTERED) } ));
    var UeIdentityTagInfo v_ue_identity_tags_info_result;
    var universal charstring v_result;
    var universal charstring v_expected_result := "{\"ueIdentityTags\":[{\"ueIdentityTag\":\"UeTagA\",\"state\":\"REGISTERED\"}]}";
    var bitstring v_enc_msg;
    var integer v_res;
    
    v_enc_msg := encvalue(v_ue_identity_tags_info);
    v_result := oct2unichar(bit2oct(v_enc_msg), "UTF-8");
    log("v_result= ", v_result);
    if (match(v_expected_result, v_result)) {
      setverdict(pass, "Encoding succeed");
    } else {
      setverdict(fail, "Encoding failed");
    }
    
    v_res := decvalue(v_enc_msg, v_ue_identity_tags_info_result);
    if (v_res == 0) {
      log("v_ue_identity_tags_info_result= ", v_ue_identity_tags_info_result);
      if (match(v_ue_identity_tags_info, v_ue_identity_tags_info_result)) {
        setverdict(pass, "Decoding succeed");
      } else {
        setverdict(fail, "Decoding failed");
      }
    } else {
      setverdict(fail, "Decoding operation failed");
    }

    v_enc_msg := oct2bit(char2oct("{\"ueIdentityTags\": [{ \"ueIdentityTag\": \"UeTagA\",\t\"state\": \"REGISTERED\"}]}"));
    v_res := decvalue(v_enc_msg, v_ue_identity_tags_info_result);
    if (v_res == 0) {
      log("v_ue_identity_tags_info_result (1)= ", v_ue_identity_tags_info_result);
      if (match(v_ue_identity_tags_info, v_ue_identity_tags_info_result)) {
        setverdict(pass, "Decoding succeed (1)");
      } else {
        setverdict(fail, "Decoding failed (1)");
      }
    } else {
      setverdict(fail, "Decoding operation failed (1)");
    }
  } // End of testcase tc_encode_UeIdentityTags
  
} // End of module TestCodec_External