diff --git a/etc/TestCodec/TestCodec.cfg b/etc/TestCodec/TestCodec.cfg index 1f4d1bbe440a3a4468cc3201c5f84f5d3d188848..a5c8765286753433c6113c9509e63168230f811d 100644 --- a/etc/TestCodec/TestCodec.cfg +++ b/etc/TestCodec/TestCodec.cfg @@ -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 diff --git a/scripts/testcodec_generate_makefile.bash b/scripts/testcodec_generate_makefile.bash index 36d0e42b0eda0d5045926d88480db79af2eee555..37cd6b579699e08a79b43079e1fdc6cc9d8153ba 100755 --- a/scripts/testcodec_generate_makefile.bash +++ b/scripts/testcodec_generate_makefile.bash @@ -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 diff --git a/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_TypesAndValues.ttcn b/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_TypesAndValues.ttcn index bb131241998f9a161c12e79e6964bb2286288b08..d47b43d5940de1e23ab3ef1a0d8f520d0843106d 100644 --- a/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_TypesAndValues.ttcn +++ b/ttcn/LibMec/LocationAPI/ttcn/LocationAPI_TypesAndValues.ttcn @@ -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 } /** diff --git a/ttcn/LibMec/UEidentityAPI/ttcn/UEidentityAPI_TypesAndValues.ttcn b/ttcn/LibMec/UEidentityAPI/ttcn/UEidentityAPI_TypesAndValues.ttcn index f98e27baaaad2b5306543cf97d6393fc5bc8cbc7..3bf75165fc29d4fc5100d85afd8e0e1704649916 100644 --- a/ttcn/LibMec/UEidentityAPI/ttcn/UEidentityAPI_TypesAndValues.ttcn +++ b/ttcn/LibMec/UEidentityAPI/ttcn/UEidentityAPI_TypesAndValues.ttcn @@ -38,8 +38,8 @@ module UEidentityAPI_TypesAndValues { * @desc Status of the resource ueIdentityTagInfo */ type enumerated State { - e_unregistered, - e_registered + UNREGISTERED, + REGISTERED } /** diff --git a/ttcn/TestCodec/TestCodec_External.ttcn b/ttcn/TestCodec/TestCodec_External.ttcn index dfc2689465b434931670a68ffad54a158454a7b9..a0aa2bb23b22775968b3d003ae697af07b392a24 100644 --- a/ttcn/TestCodec/TestCodec_External.ttcn +++ b/ttcn/TestCodec/TestCodec_External.ttcn @@ -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