From 0af7848d49dabe3052d49cf7613f344590446978 Mon Sep 17 00:00:00 2001 From: garciay Date: Wed, 8 May 2019 04:45:48 -0700 Subject: [PATCH] Add UEidentityAPI support --- etc/TestCodec/TestCodec.cfg | 2 + scripts/testcodec_generate_makefile.bash | 2 +- .../ttcn/LocationAPI_TypesAndValues.ttcn | 26 +++---- .../ttcn/UEidentityAPI_TypesAndValues.ttcn | 4 +- ttcn/TestCodec/TestCodec_External.ttcn | 75 +++++++++++++++++++ 5 files changed, 93 insertions(+), 16 deletions(-) diff --git a/etc/TestCodec/TestCodec.cfg b/etc/TestCodec/TestCodec.cfg index 1f4d1bb..a5c8765 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 36d0e42..37cd6b5 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 bb13124..d47b43d 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 f98e27b..3bf7516 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 dfc2689..a0aa2bb 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 -- GitLab