Skip to content
TestCodec_External.ttcn 4.64 KiB
Newer Older
Yann Garcia's avatar
Yann Garcia committed
module TestCodec_External {
  
  // LibMec
  import from LocationAPI_TypesAndValues all;
  import from LocationAPI_Templates all;
Yann Garcia's avatar
Yann Garcia committed
  import from UEidentityAPI_TypesAndValues all;
  import from UEidentityAPI_Templates all;
Yann Garcia's avatar
Yann Garcia committed
  
  // TestCodec
  import from TestCodec_TestAndSystem all;
  
  testcase tc_encode_LocationInfo() runs on TCType system TCType {
    var LocationInfo v_location_info := valueof(m_location_info(10.0, 12.0, 9));
    var LocationInfo v_location_info_result;
    var universal charstring v_expected_result := "{\"latitude\":10.000000,\"longitude\":12.000000,\"accuracy\":9}";
    var universal charstring v_enc_msg;
Yann Garcia's avatar
Yann Garcia committed
    var integer v_res;
    
    v_enc_msg := encvalue_unichar(v_location_info);
    log("v_enc_msg= ", v_enc_msg);
    if (match(v_expected_result, v_enc_msg)) {
Yann Garcia's avatar
Yann Garcia committed
      setverdict(pass, "Encoding succeed");
    } else {
      setverdict(fail, "Encoding failed");
    }
    
    v_res := decvalue_unichar(v_enc_msg, v_location_info_result);
Yann Garcia's avatar
Yann Garcia committed
    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_LocationInfo
  
Yann Garcia's avatar
Yann Garcia committed
  testcase tc_encode_UserInfo() runs on TCType system TCType {
Yann Garcia's avatar
Yann Garcia committed
    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"));
Yann Garcia's avatar
Yann Garcia committed
    var UserInfo v_location_info_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 universal charstring v_enc_msg;
Yann Garcia's avatar
Yann Garcia committed
    var integer v_res;
    
    v_enc_msg := encvalue_unichar(v_location_info);
    log("v_enc_msg= ", v_enc_msg);
    if (match(v_expected_result, v_enc_msg)) {
Yann Garcia's avatar
Yann Garcia committed
      setverdict(pass, "Encoding succeed");
    } else {
      setverdict(fail, "Encoding failed");
    }
    
    v_res := decvalue_unichar(v_enc_msg, v_location_info_result);
Yann Garcia's avatar
Yann Garcia committed
    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_expected_result := "{\"ueIdentityTags\":[{\"ueIdentityTag\":\"UeTagA\",\"state\":\"REGISTERED\"}]}";
    var universal charstring v_enc_msg;
Yann Garcia's avatar
Yann Garcia committed
    var integer v_res;
    
    v_enc_msg := encvalue_unichar(v_ue_identity_tags_info);
    log("v_enc_msg= ", v_enc_msg);
    if (match(v_expected_result, v_enc_msg)) {
Yann Garcia's avatar
Yann Garcia committed
      setverdict(pass, "Encoding succeed");
    } else {
      setverdict(fail, "Encoding failed");
    }
    
    v_res := decvalue_unichar(v_enc_msg, v_ue_identity_tags_info_result);
Yann Garcia's avatar
Yann Garcia committed
    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 := "{\"ueIdentityTags\": [{ \"ueIdentityTag\": \"UeTagA\",\t\"state\": \"REGISTERED\"}]}";
    v_res := decvalue_unichar(v_enc_msg, v_ue_identity_tags_info_result);
Yann Garcia's avatar
Yann Garcia committed
    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
  
Yann Garcia's avatar
Yann Garcia committed
} // End of module TestCodec_External