Commit 835ae35e authored by YannGarcia's avatar YannGarcia
Browse files

Validation of LocationAPI (GS 013)

parent da939b20
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -64,6 +64,7 @@ int json_codec::decode (const OCTETSTRING& p_data, LibItsHttp__JsonMessageBodyTy
  int idx_end = it->second.rfind("}") - 1; // Remove the last '}'
  std::string str = it->second.substr(idx_begin + 1, idx_end - idx_begin);
  // ..and create the decoding buffer
  loggers::get_instance().log("json_codec::decode: decoding_buffer=%s", str.c_str());
  TTCN_Buffer decoding_buffer(OCTETSTRING(str.length(), (const unsigned char*)str.c_str()));

  if (it->second.find("\"userList\"") != std::string::npos) { // Be careful to the order
+152 −0
Original line number Diff line number Diff line
[MODULE_PARAMETERS]
# This section shall contain the values of all parameters that are defined in your TTCN-3 modules.

# IUT roles

LibCommon_Time.PX_TAC := 30.0
#LibCommon_Time.PX_TWAIT := 30.0
LibCommon_Sync.PX_TSYNC_TIME_LIMIT := 30.0;
LibCommon_Sync.PX_TSHUT_DOWN_TIME_LIMIT := 30.0;

LibItsHttp_Pics.PICS_HEADER_HOST := "172.22.1.6"

LibItsHttp_Pics.PICS_HEADER_CONTENT_TYPE := "application/json"
LibItsHttp_Pics.PICS_USE_TOKEN_HEADER    := true
#LibItsHttp_Pics.PICS_TOKEN_HEADER        := "Basic WrongToken"

LibMec_Pics.PICS_ROOT_API               := "etsi-013"
LibMec_Pics.PICS_MEC_PLAT               := true
LibMec_Pics.PICS_SERVICES               := true
LibMec_Pics.PICS_RNIS                   := true
LibMec_Pics.PICS_RNIS_QUERY             := true
LibMec_Pics.PICS_RNIS_ALL_SUBSCRIPTIONS := true
LibMec_Pics.PICS_RNIS_NOTIFICATIONS     := true

LocationAPI_Pics.PICS_LOCATION_API_SUPPORTED         := true

UEidentityAPI_Pics.PICS_UE_IDENTITY_API_SUPPORTED    := false

BwManagementAPI_Pics.PICS_BWMANAGEMENT_API_SUPPORTED := false

#AppEnablementAPI_Pics.PICS_APP_ENABLEMENT_API_SUPPORTED  := true
#AppEnablementAPI_Pics.PICS_ME_APP_SUPPORT_TIMING_CAPS_URI


[LOGGING]
# In this section you can specify the name of the log file and the classes of events
# you want to log into the file or display on console (standard error).

LogFile := "../logs/%e.%h-%r.%s"
FileMask := LOG_ALL | USER | DEBUG | MATCHING
ConsoleMask := LOG_ALL | USER | DEBUG | MATCHING
#FileMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
#ConsoleMask := ERROR | WARNING | USER | MATCHING | EXECUTOR_RUNTIME | VERDICTOP
LogSourceInfo := Stack
LogEntityName:= Yes
LogEventTypes:= Yes
#TimeStampFormat := DateTime

[TESTPORT_PARAMETERS]
# In this section you can specify parameters that are passed to Test Ports.
system.httpPort.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server=172.22.1.6,port=31007,use_ssl=0)"
system.httpPort_notif.params := "HTTP(codecs=json:json_codec)/TCP(debug=1,server_mode=1,local_port=8081,use_ssl=0)"

[DEFINE]
# In this section you can create macro definitions,
# that can be used in other configuration file sections except [INCLUDE] and [ORDERED_INCLUDE].

[INCLUDE]
# To use configuration settings given in other configuration files,
# the configuration files just need to be listed in this section, with their full or relative pathnames.

[ORDERED_INCLUDE]
# To use configuration settings given in other configuration files,
# the configuration files just need to be listed in this section, with their full or relative pathnames.

[EXTERNAL_COMMANDS]
# This section can define external commands (shell scripts) to be executed by the ETS
# whenever a control part or test case is started or terminated.

#BeginTestCase := ""
#EndTestCase := ""
#BeginControlPart := ""
#EndControlPart := ""

[EXECUTE]
# In this section you can specify what parts of your test suite you want to execute.
#AtsMec_TestControl.control
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_001_OK
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_001_BR
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_001_NF
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_OK
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_BR
#AtsMec_UEidentityAPI_TestCases.TC_MEC_SRV_UETAG_002_PF

#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCLOOK_001_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCLOOK_001_BR
AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCLOOK_001_NF


#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCSUB_001_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCSUB_001_BR
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCSUB_002_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UELOCSUB_002_NF

#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UETRACKSUB_001_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UETRACKSUB_001_BR
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UETRACKSUB_002_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UETRACKSUB_002_NF

#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFLOOK_001_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFLOOK_001_BR
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFLOOK_001_NF

#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFSUB_001_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFSUB_001_BR
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFSUB_002_OK
#AtsMec_LocationAPI_TestCases.TC_MEC_SRV_UEINFSUB_002_NF

#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_011_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_011_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_012_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_016_NF
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_017_NF
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_018_NF
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_BR
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_019_NF

#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_001_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_002_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_003_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_004_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_005_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_006_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_007_OK
#AtsMec_RnisAPI_TestCases.TC_MEC_SRV_RNIS_008_OK

#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRANS_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_002_OK
#AtsMec_AppEnablementAPI_TestCases.TC_MEC_SRV_TRAF_001_NF

[GROUPS]
# In this section you can specify groups of hosts. These groups can be used inside the
# [COMPONENTS] section to restrict the creation of certain PTCs to a given set of hosts.

[COMPONENTS]
# This section consists of rules restricting the location of created PTCs.

[MAIN_CONTROLLER]
# The options herein control the behavior of MC.
KillTimer := 10.0
LocalAddress := 127.0.0.1
TCPPort := 12000
NumHCs := 1
+0 −2
Original line number Diff line number Diff line
@@ -10,6 +10,4 @@ module BwManagementAPI_Pixits {
  
  modulepar ResourceURL PX_RESOURCE_URL := "http://example.com/exampleAPI/location/v2/users?address:acr:192.0.0.1";

  modulepar TimeStamp PX_TIME_STAMP := { seconds := 1483231138, nanoSeconds := 0 };
  
} // End of module BwManagementAPI_Pixits 
+4 −6
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ module LocationAPI_Pixits {
  // LibMec/LocationAPI
  import from LocationAPI_TypesAndValues all;
  
  modulepar Address PX_USER := "acr:192.0.0.1";
  modulepar Address PX_USER := "ue1";
  
  modulepar Address PX_USER_UNKNOWN := "acr:192.0.0.200";
  
@@ -18,15 +18,13 @@ module LocationAPI_Pixits {
  
  modulepar charstring PX_SUBSCRIPTION_ID_UNKNOWN := "subscription0666";
  
  modulepar AccessPointId PX_ACCESS_POINT_ID := "001010000000000000000000000000001";
  modulepar AccessPointId PX_ACCESS_POINT_ID := "zone1-poa1";
  
  modulepar ZoneId PX_ZONE_ID := "zone01";
  modulepar ZoneId PX_ZONE_ID := "zone1";
  
  modulepar ZoneId NON_EXISTENT_ZONE_ID := "zone51";
  
  modulepar ResourceURL PX_RESOURCE_URL := "http://example.com/exampleAPI/location/v2/users?address:acr:192.0.0.1";

  modulepar TimeStamp PX_TIME_STAMP := { seconds := 1483231138, nanoSeconds := 0 };
  modulepar ResourceURL PX_RESOURCE_URL := "http://meep-loc-serv/etsi-013/location/v1/users/ue1";

  modulepar NumberOfAccessPoints PX_NB_ACCESS_POINTS := 3;
  
+2 −2
Original line number Diff line number Diff line
@@ -350,7 +350,7 @@ module LibMec_Functions {
                                                                         ))  -> value v_response {
        tc_ac.stop;
        log("*** " & testcasename() & ": PASS: Received HTTP error message in case of non authenticated HTTP request ***");
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
      }
      [] httpPort.receive(
                          mw_http_response(
@@ -358,7 +358,7 @@ module LibMec_Functions {
                                           ))  -> value v_response {
        tc_ac.stop;
        log("*** " & testcasename() & ": FAIL: Server error: " & int2str(v_response.response.statuscode) & "/" & v_response.response.statustext & " ***");
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_success);
        f_selfOrClientSyncAndVerdictTestBody(c_tbDone, e_error);
        // Do not repeat!
      }
      [] httpPort.receive(mw_http_response) -> value v_response {
Loading