diff --git a/LibOneM2M/OneM2M_Pics.ttcn b/LibOneM2M/OneM2M_Pics.ttcn index 4df2a38fe481224306a27cb3d2e3daddd1058210..2304e73807351e18a7143274725a9388240f9971 100644 --- a/LibOneM2M/OneM2M_Pics.ttcn +++ b/LibOneM2M/OneM2M_Pics.ttcn @@ -140,12 +140,13 @@ module OneM2M_Pics { } /** - * @desc Non-Blocking Requests - * @see oneM2M TS-0017 A.X.Y.Z + * @desc Requests handling + * @see oneM2M TS-0017 A.5.4-1 */ group NonBlocking { - modulepar boolean PICS_NON_BLOCKING_REQUEST_SYNCH := true; //TO BE DEFINED IN TS-0017 - modulepar boolean PICS_NON_BLOCKING_REQUEST_ASYNCH := true; //TO BE DEFINED IN TS-0017 + modulepar boolean PICS_BLOCKING_REQUEST := true; + modulepar boolean PICS_NON_BLOCKING_REQUEST_SYNCH := true; + modulepar boolean PICS_NON_BLOCKING_REQUEST_ASYNCH := true; } } diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index a40e346d0ac6b58a3e56311d332f13598f011379..7081b526f25db4c1b264f354ed2aa2f6d6126622 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -10242,11 +10242,11 @@ module OneM2M_PermutationFunctions { } //end group PollingChannel - group Non_Blocking_Requests{ - - group Synchronous{ - - function f_CSE_NBR_SYN_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + group Response_Type { + + group Blocking_Requests { + + function f_CSE_RT_BR_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem { // Local variables var MsgIn v_response; @@ -10256,8 +10256,8 @@ module OneM2M_PermutationFunctions { var integer v_acpAuxIndex := -1; // Test control - if(PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in synchronous mode to run this test case"); + if(not(PICS_BLOCKING_REQUEST)){ + setverdict(inconc, __SCOPE__ & ": It is required to support Blocking access resource to run this test case"); stop; } @@ -10277,27 +10277,27 @@ module OneM2M_PermutationFunctions { p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType := {int1, omit}; //nonBlockingRequestSynch + p_requestPrimitive.responseType := {int3, omit}; //BlockingRequest // Test Body f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int5206))) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response { tc_ac.stop; - setverdict(pass, __SCOPE__ & ": Operation rejected because Non-blocking access resource in synchronous mode is not supported"); + setverdict(pass, __SCOPE__ & ": Successful operation using Blocking Request"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Error operation have been accepted without supporting Non-Blocking Requests"); + setverdict(fail, __SCOPE__ & ": Error while blocking request operation"); } [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + setverdict(fail, __SCOPE__ & ": No answer while executing blocking request operation"); } } @@ -10308,666 +10308,739 @@ module OneM2M_PermutationFunctions { // Tear down f_cf01Down(); - - }//end f_CSE_NBR_SYN_001 - - function f_CSE_NBR_SYN_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ - - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - var template PrimitiveContent v_contentResponse; - - // Test control - if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - v_contentResponse.uRI := ?; - - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType := {int1,omit}; //nonBlockingRequestSynch + }//end f_CSE_RT_BR_001 + + } + + group Non_Blocking_Requests{ - // Test Body - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + group Synchronous{ + + function f_CSE_NBR_SYN_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + + // Test control + if(PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in synchronous mode to run this test case"); + stop; } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - } - - f_checkAeSimuStatus(); - - //Check to see if the resource is present or not - if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){ - f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex)))); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType := {int1, omit}; //nonBlockingRequestSynch + + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int5206))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Request resource present"); + setverdict(pass, __SCOPE__ & ": Operation rejected because Non-blocking access resource in synchronous mode is not supported"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Request resource not found"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Error operation have been accepted without supporting Non-Blocking Requests"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); } - } - } - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); + } - }//end f_CSE_NBR_SYN_002 + f_checkAeSimuStatus(); + + // Postamble + f_cse_postamble_deleteResources(); - function f_CSE_NBR_SYN_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in Operation p_operation) runs on AeSimu system CseSystem{ + // Tear down + f_cf01Down(); + + }//end f_CSE_NBR_SYN_001 - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - var template PrimitiveContent v_contentResponseUri; - var template PrimitiveContent v_contentResponseRequestResource; - var RequestStatus v_requestStatus; - var URI v_requestResourceURI; - var ResponseStatusCode v_statusCode; - var template PrimitiveContent v_primitiveContent; - - // Test control - if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - - v_contentResponseUri.uRI := ?; - - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType := {int1, omit}; //nonBlockingRequestSynch - - // Test Body - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponseUri))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + function f_CSE_NBR_SYN_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); + stop; } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_contentResponse.uRI := ?; + + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - } - - f_checkAeSimuStatus(); - - //Check to see if the resource is present or not - if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){ - v_contentResponseRequestResource.request := mw_contentRequestBase; - v_requestResourceURI := v_response.primitive.responsePrimitive.primitiveContent.uRI; - if (p_operation == int1){ //create - v_statusCode := int2001; - v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent); - }else if (p_operation == int2){ //retrieve - v_statusCode := int2000; - v_primitiveContent.container := mw_contentContainer_rc1; - }else if (p_operation == int3){ //update - v_statusCode := int2004; - v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent); - }else if (p_operation == int4){ //delete - v_statusCode := int2002; - v_primitiveContent.container := mw_contentContainer_rc1; - //v_primitiveContent := omit; - } - f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex)))); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType := {int1,omit}; //nonBlockingRequestSynch + + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponseRequestResource))) -> value v_response{ - setverdict(pass, testcasename() & ": Request resource has been received"); - v_requestStatus := v_response.primitive.responsePrimitive.primitiveContent.request.requestStatus; - if (v_requestStatus==int1){ //COMPLETED - tc_ac.stop; - if (valueof(p_requestPrimitive.requestIdentifier) == valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.requestIdentifier) ){ - setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute correctly received"); - }else{ - setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute not correctly received"); - } - - if (valueof(v_statusCode) == valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.responseStatusCode) ){ - setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute correctly received"); - }else{ - setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute not correctly received"); - } - - if (match(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.primitiveContent, v_primitiveContent) ){ - setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template correctly received"); - }else{ - setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template not correctly received"); - } - - }else if (v_requestStatus==int2){ //FAILED - tc_ac.stop; - setverdict(fail, testcasename() & ": RequestStatus: FAIL"); - }else{ //PENDING, FORWARDING or PARTIALLY_COMPLETED - f_sleep(PX_TAC/5.0); - f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex)))); - repeat; - } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Request resource not found"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); } - } - } - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - }//end f_CSE_NBR_SYN_003 - }//end Group Synchronous - - group Asynchronous{ - - function f_CSE_NBR_ASY_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ - - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - - // Test control - if(PICS_NON_BLOCKING_REQUEST_ASYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in asynchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType := {int2,omit}; //nonBlockingRequestAsynch - // Test Body - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, omit))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": No content provided with the right status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": No content provided with a wrong status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Content provided"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in asynchronous mode operation"); + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){ + f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex)))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + tc_ac.stop; + setverdict(pass, testcasename() & ": Request resource present"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Request resource not found"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Wrong response status code in the response"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } } - } - - f_checkAeSimuStatus(); - - //Check to see if the resource is present or not - if (f_cse_isResourcePresent(v_resourceIndex)){ - setverdict(pass, __SCOPE__ & ":INFO: Resource created"); - } else { - setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); - } - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - }//end f_CSE_NBR_ASY_001 - - function f_CSE_NBR_ASY_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - var template PrimitiveContent v_contentResponse; - - // Test control - if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble + }//end f_CSE_NBR_SYN_002 - v_contentResponse.uRI := ?; - - v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); - - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType := {int2,omit}; //nonBlockingRequestAsynch + function f_CSE_NBR_SYN_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in Operation p_operation) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + var template PrimitiveContent v_contentResponseUri; + var template PrimitiveContent v_contentResponseRequestResource; + var RequestStatus v_requestStatus; + var URI v_requestResourceURI; + var ResponseStatusCode v_statusCode; + var template PrimitiveContent v_primitiveContent; + + // Test control + if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); + stop; + } - // Test Body - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_contentResponseUri.uRI := ?; + + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType := {int1, omit}; //nonBlockingRequestSynch + + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001, v_contentResponseUri))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1001))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + } } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){ + v_contentResponseRequestResource.request := mw_contentRequestBase; + v_requestResourceURI := v_response.primitive.responsePrimitive.primitiveContent.uRI; + if (p_operation == int1){ //create + v_statusCode := int2001; + v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent); + }else if (p_operation == int2){ //retrieve + v_statusCode := int2000; + v_primitiveContent.container := mw_contentContainer_rc1; + }else if (p_operation == int3){ //update + v_statusCode := int2004; + v_primitiveContent := f_getTemplateFromPrimitiveContent(p_requestPrimitive.primitiveContent); + }else if (p_operation == int4){ //delete + v_statusCode := int2002; + v_primitiveContent.container := mw_contentContainer_rc1; + //v_primitiveContent := omit; + } + f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex)))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_contentResponseRequestResource))) -> value v_response{ + setverdict(pass, testcasename() & ": Request resource has been received"); + v_requestStatus := v_response.primitive.responsePrimitive.primitiveContent.request.requestStatus; + if (v_requestStatus==int1){ //COMPLETED + tc_ac.stop; + if (valueof(p_requestPrimitive.requestIdentifier) == valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.requestIdentifier) ){ + setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute correctly received"); + }else{ + setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and requestIdentifier attribute not correctly received"); + } + + if (valueof(v_statusCode) == valueof(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.responseStatusCode) ){ + setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute correctly received"); + }else{ + setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and responseStatusCode attribute not correctly received"); + } + + if (match(v_response.primitive.responsePrimitive.primitiveContent.request.operationResult.primitiveContent, v_primitiveContent) ){ + setverdict(pass, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template correctly received"); + }else{ + setverdict(fail, testcasename() & ": RequestStatus: COMPLETED and primitiveContent template not correctly received"); + } + + }else if (v_requestStatus==int2){ //FAILED + tc_ac.stop; + setverdict(fail, testcasename() & ": RequestStatus: FAIL"); + }else{ //PENDING, FORWARDING or PARTIALLY_COMPLETED + f_sleep(PX_TAC/5.0); + f_send(e_mca_port, m_request(m_retrieve(v_requestResourceURI, f_getOriginator(v_aeIndex)))); + repeat; + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Request resource not found"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Wrong response status code in the response"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_NBR_SYN_003 + }//end Group Synchronous + + group Asynchronous{ + + function f_CSE_NBR_ASY_001(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + + // Test control + if(PICS_NON_BLOCKING_REQUEST_ASYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to not support Non-blocking access resource in asynchronous mode to run this test case"); + stop; } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - } - - f_checkAeSimuStatus(); - - //Check to see if the resource is present or not - if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){ - f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex)))); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType := {int2,omit}; //nonBlockingRequestAsynch + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, omit))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": No content provided with the right status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK(omit))) -> value v_response { tc_ac.stop; - setverdict(pass, testcasename() & ": Request resource present"); + setverdict(fail, __SCOPE__ & ": No content provided with a wrong status code"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Request resource not found"); + setverdict(fail, __SCOPE__ & ": Content provided"); } - [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { tc_ac.stop; - setverdict(fail, testcasename() & ": Wrong response status code in the response"); + setverdict(fail, __SCOPE__ & ": Wrong response status code"); } [] tc_ac.timeout { - setverdict(fail, testcasename() & ": No answer while retrieving resource"); + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in asynchronous mode operation"); } - } - } - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - }//end f_CSE_NBR_ASY_002 - - function f_CSE_NBR_ASY_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{ - - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - var template PrimitiveContent v_contentResponse; - - // Test control - if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - - v_contentResponse.uRI := ?; - - v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi); - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType := {int2, omit}; //nonBlockingRequestAsynch and no notification target list is provided" - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if (f_cse_isResourcePresent(v_resourceIndex)){ + setverdict(pass, __SCOPE__ & ":INFO: Resource created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource not created"); } - } - - f_checkAeSimuStatus(); - - //Test Body - - //Check to see if the notification is received - f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode)); - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - }//end f_CSE_NBR_ASY_003 - - function f_CSE_NBR_ASY_004(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - var template PrimitiveContent v_contentResponse; - - // Test control - if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(); - - // Test adapter configuration - - // Preamble - - v_contentResponse.uRI := ?; - - v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi); - - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType.responseTypeValue := int2; //nonBlockingRequestAsynch - p_requestPrimitive.responseType.notificationURI := {}; //"...an empty notification target list is provided" - - // Test Body - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); - } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + }//end f_CSE_NBR_ASY_001 + + function f_CSE_NBR_ASY_002(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); + stop; } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_contentResponse.uRI := ?; + + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType := {int2,omit}; //nonBlockingRequestAsynch + + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + } } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + + f_checkAeSimuStatus(); + + //Check to see if the resource is present or not + if (ischosen(v_response.primitive.responsePrimitive.primitiveContent.uRI)){ + f_send(e_mca_port, m_request(m_retrieve(v_response.primitive.responsePrimitive.primitiveContent.uRI, f_getOriginator(v_aeIndex)))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + tc_ac.stop; + setverdict(pass, testcasename() & ": Request resource present"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Request resource not found"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(?, -))) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Wrong response status code in the response"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } } - } - - f_checkAeSimuStatus(); - - //Check if Notification is sent or not - - f_cse_notifyProcedure_noNotificationHandler(); - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - }//end f_CSE_NBR_ASY_004 - - function f_CSE_NBR_ASY_005(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{ + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); - // Local variables - var MsgIn v_response; - var RequestPrimitive v_request; - var integer v_aeIndex, v_ae2Index := -1; - var integer v_resourceIndex := -1; - var integer v_acpAuxIndex := -1; - var template PrimitiveContent v_contentResponse; - - // Test control - if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ - setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); - stop; - } - - // Test component configuration - f_cf01Up(true); - - // Test adapter configuration - - // Preamble - - v_contentResponse.uRI := ?; - - v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi); - - f_checkAeSimuStatus(); - - vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAE2Name, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred - - f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); - - v_ae2Index := f_getResourceFromAeSimu(vc_ae2); + }//end f_CSE_NBR_ASY_002 - if(ispresent(p_parentRequestPrimitive)) { - v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); - p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); - }else{ - p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); - } - p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); - p_requestPrimitive.responseType.responseTypeValue := int2; //nonBlockingRequestAsynch - p_requestPrimitive.responseType.notificationURI := {f_getResourceAddress(v_aeIndex), f_getResourceAddress(v_ae2Index)}; //"...an empty notification target list is provided" - - // Test Body - - f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); - tc_ac.start; - alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { - tc_ac.stop; - setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + function f_CSE_NBR_ASY_003(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); + stop; } - [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_contentResponse.uRI := ?; + + v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi); + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType := {int2, omit}; //nonBlockingRequestAsynch and no notification target list is provided" + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + } } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { - tc_ac.stop; - setverdict(fail, __SCOPE__ & ": Wrong response status code"); + + f_checkAeSimuStatus(); + + //Test Body + + //Check to see if the notification is received + f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode)); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_NBR_ASY_003 + + function f_CSE_NBR_ASY_004(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit) runs on AeSimu system CseSystem{ + + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); + stop; } - [] tc_ac.timeout { - setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + + v_contentResponse.uRI := ?; + + v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); } - } - - f_checkAeSimuStatus(); - - //Check if Notification is sent or not - - - vc_ae2.start(f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode))); - - f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode)); + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType.responseTypeValue := int2; //nonBlockingRequestAsynch + p_requestPrimitive.responseType.notificationURI := {}; //"...an empty notification target list is provided" + + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + } + } + + f_checkAeSimuStatus(); + + //Check if Notification is sent or not + + f_cse_notifyProcedure_noNotificationHandler(); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_NBR_ASY_004 - vc_ae2.done; - - // Postamble - f_cse_postamble_deleteResources(); - - // Tear down - f_cf01Down(); - - }//end f_CSE_NBR_ASY_005 + function f_CSE_NBR_ASY_005(template RequestPrimitive p_requestPrimitive, in template (omit) RequestPrimitive p_parentRequestPrimitive := omit, in ResponseStatusCode p_responseStatusCode) runs on AeSimu system CseSystem{ - - }//end Group Asynchronous - - }//end group Non_Blocking_Requests + // Local variables + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeIndex, v_ae2Index := -1; + var integer v_resourceIndex := -1; + var integer v_acpAuxIndex := -1; + var template PrimitiveContent v_contentResponse; + + // Test control + if(not PICS_NON_BLOCKING_REQUEST_SYNCH){ + setverdict(inconc, __SCOPE__ & ": It is required to support Non-blocking access resource in synchronous mode to run this test case"); + stop; + } + + // Test component configuration + f_cf01Up(true); + + // Test adapter configuration + + // Preamble + + v_contentResponse.uRI := ?; + + v_aeIndex := f_cse_preamble_registerAe(-, {f_getCompletePoA(PX_TS_AE1.mcaPortIn, "")});//c_CRUDNDi); + + f_checkAeSimuStatus(); + + vc_ae2.start(f_cse_createResource(int2, m_createAe(PX_TS_AE2.appId, -, PX_TS_AE2.aeIdStem, c_defaultAE2Name, {f_getCompletePoA(PX_TS_AE2.mcaPortIn, "")}))); // AE2 is registred + + f_aeSimu_checkComponentDoneAndGetVerdict(vc_ae2); + + v_ae2Index := f_getResourceFromAeSimu(vc_ae2); + + if(ispresent(p_parentRequestPrimitive)) { + v_resourceIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_aeIndex); + p_requestPrimitive.to_ := f_getResourceAddress(v_resourceIndex); + }else{ + p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex); + } + p_requestPrimitive.from_ := f_getOriginator(v_aeIndex); + p_requestPrimitive.responseType.responseTypeValue := int2; //nonBlockingRequestAsynch + p_requestPrimitive.responseType.notificationURI := {f_getResourceAddress(v_aeIndex), f_getResourceAddress(v_ae2Index)}; //"...an empty notification target list is provided" + + // Test Body + + f_send(e_mca_port, m_request(valueof(p_requestPrimitive))); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002, v_contentResponse))) -> value v_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": URI attribute is set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitive(int1002))) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": URI attribute is not set to <request> resource address"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value v_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while executing a Non-blocking access resource in synchronous mode operation"); + } + } + + f_checkAeSimuStatus(); + + //Check if Notification is sent or not + + + vc_ae2.start(f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode))); + + f_cse_notifyProcedure_responsePrimitiveHandler(mw_responsePrimitive(p_responseStatusCode)); + + vc_ae2.done; + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_NBR_ASY_005 + + + }//end Group Asynchronous + + }//end group Non_Blocking_Requests + + }//end of group Response_Type }//end group CSE diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn index 19cc1cce141fb1ec4951ef409b6f7c5e62eb051e..f38a8561bec30c58e49374d536aeb918a472e990 100644 --- a/OneM2M_Testcases_CSE_Release_2.ttcn +++ b/OneM2M_Testcases_CSE_Release_2.ttcn @@ -4401,433 +4401,481 @@ module OneM2M_Testcases_CSE_Release_2 { }//end group PollingChannel - group Non_Blocking_Requests{ - - group Synchronous{ - - group g_CSE_NBR_SYN_001 { - - /** - * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the <request> resource - * - */ - testcase TC_CSE_NBR_SYN_001_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_001(m_createContainerBase, -)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_001_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; - - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_SYN_001(m_updateContainerBase, m_createContainerBase)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_001_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container - v_ae1.done; + group Response_Type { - } + group Blocking_Requests { - testcase TC_CSE_NBR_SYN_001_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_SYN_001 - - group g_CSE_NBR_SYN_002{ + /** + * @desc Check that the IUT responds successfully to a Blocking Request OPERATION + * + */ + testcase TC_CSE_RT_BR_001_CRE() runs on Tester system CseSystem { + // Local variables + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_RT_BR_001(m_createContainerBase, -, int2001)); + v_ae1.done; + } - /** - * @desc Check that the IUT responds to a Non-Blocking Synchronous Request with the reference of a <request> resource provided within the Content parameter of the Response - * - */ - testcase TC_CSE_NBR_SYN_002_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_002(m_createContainerBase, -)); //Create Container - v_ae1.done; + testcase TC_CSE_RT_BR_001_UPD() runs on Tester system CseSystem { + // Local variables + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_RT_BR_001(m_updateContainerBase, m_createContainerBase, int2004)); + v_ae1.done; + } - } + testcase TC_CSE_RT_BR_001_RET() runs on Tester system CseSystem { + // Local variables + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_RT_BR_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); + v_ae1.done; + } - testcase TC_CSE_NBR_SYN_002_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; + testcase TC_CSE_RT_BR_001_DEL() runs on Tester system CseSystem { + // Local variables + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_RT_BR_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); + v_ae1.done; + } + + }//end of group Blocking_Requests + + group Non_Blocking_Requests{ + + group Synchronous{ + + group g_CSE_NBR_SYN_001 { - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_SYN_002(m_updateContainerBase, m_createContainerBase)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_002_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_002_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_SYN_002 + /** + * @desc Check that the IUT rejects a Non-Blocking Synchronous Request if the IUT does not support the <request> resource + * + */ + testcase TC_CSE_NBR_SYN_001_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_001(m_createContainerBase, -)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_001_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_SYN_001(m_updateContainerBase, m_createContainerBase)); //Update Container + v_ae1.done; + + } - group g_CSE_NBR_SYN_003{ + testcase TC_CSE_NBR_SYN_001_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container + v_ae1.done; - /** - * @desc Check that the IUT returns successfully the <request> resource after receiving a Non-Blocking Synchronous Request OPERATION and it contains the expected result in operationResult attribute - * - */ - testcase TC_CSE_NBR_SYN_003_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_003(m_createContainerBase, -, int1)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_003_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; + } - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_SYN_003(m_updateContainerBase, m_createContainerBase, int3)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_003_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_SYN_003_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_SYN_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int4)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_SYN_003 - - }// end group Synchronous - - group Asynchronous{ - group g_CSE_NBR_ASY_001 { + testcase TC_CSE_NBR_SYN_001_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_SYN_001 - /** - * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request without a reference to a resource containing the context of the request if the IUT does not support the <request> resource - * - */ - testcase TC_CSE_NBR_ASY_001_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_001(m_createContainerBase, -)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_001_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; + group g_CSE_NBR_SYN_002{ - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_ASY_001(m_updateContainerBase, m_createContainerBase)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_001_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_001_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_ASY_001 + /** + * @desc Check that the IUT responds to a Non-Blocking Synchronous Request with the reference of a <request> resource provided within the Content parameter of the Response + * + */ + testcase TC_CSE_NBR_SYN_002_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_002(m_createContainerBase, -)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_002_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_SYN_002(m_updateContainerBase, m_createContainerBase)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_002_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_002_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_SYN_002 + + group g_CSE_NBR_SYN_003{ - group g_CSE_NBR_ASY_002{ + /** + * @desc Check that the IUT returns successfully the <request> resource after receiving a Non-Blocking Synchronous Request OPERATION and it contains the expected result in operationResult attribute + * + */ + testcase TC_CSE_NBR_SYN_003_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_003(m_createContainerBase, -, int1)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_003_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_SYN_003(m_updateContainerBase, m_createContainerBase, int3)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_003_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_SYN_003_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_SYN_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int4)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_SYN_003 - /** - * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request with the reference of a <request> resource provided within the Content parameter of the Response - * - */ - testcase TC_CSE_NBR_ASY_002_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_002(m_createContainerBase, -)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_002_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; + }// end group Synchronous + + group Asynchronous{ + group g_CSE_NBR_ASY_001 { + + /** + * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request without a reference to a resource containing the context of the request if the IUT does not support the <request> resource + * + */ + testcase TC_CSE_NBR_ASY_001_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_001(m_createContainerBase, -)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_001_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_ASY_001(m_updateContainerBase, m_createContainerBase)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_001_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_001(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_001_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_001(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_ASY_001 + + group g_CSE_NBR_ASY_002{ - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_ASY_002(m_updateContainerBase, m_createContainerBase)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_002_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_002_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_ASY_002 + /** + * @desc Check that the IUT responds to a Non-Blocking Asynchronous Request with the reference of a <request> resource provided within the Content parameter of the Response + * + */ + testcase TC_CSE_NBR_ASY_002_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_002(m_createContainerBase, -)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_002_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_ASY_002(m_updateContainerBase, m_createContainerBase)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_002_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_002(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_002_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_002(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_ASY_002 + + group g_CSE_NBR_ASY_003{ - group g_CSE_NBR_ASY_003{ - - /** - * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided - * - */ - testcase TC_CSE_NBR_ASY_003_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_003(m_createContainerBase, -, int2001)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_003_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; - - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_ASY_003(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_003_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_003_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_ASY_003 + /** + * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided + * + */ + testcase TC_CSE_NBR_ASY_003_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_003(m_createContainerBase, -, int2001)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_003_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_ASY_003(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_003_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_003(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_003_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_003(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_ASY_003 + + group g_CSE_NBR_ASY_004{ - group g_CSE_NBR_ASY_004{ - - /** - * @desc Check that the IUT does not send the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when an empty notification target list is provided - * - */ - testcase TC_CSE_NBR_ASY_004_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_004(m_createContainerBase, -)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_004_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; - - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_ASY_004(m_updateContainerBase, m_createContainerBase)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_004_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_004(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_004_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_004(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_ASY_004 + /** + * @desc Check that the IUT does not send the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when an empty notification target list is provided + * + */ + testcase TC_CSE_NBR_ASY_004_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_004(m_createContainerBase, -)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_004_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_ASY_004(m_updateContainerBase, m_createContainerBase)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_004_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_004(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_004_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_004(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_ASY_004 + + group g_CSE_NBR_ASY_005{ - group g_CSE_NBR_ASY_005{ - - /** - * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided - * - */ - testcase TC_CSE_NBR_ASY_005_CRE() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_005(m_createContainerBase, -, int2001)); //Create Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_005_UPD() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var template RequestPrimitive v_updateRequest := m_updateContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - var Labels v_labels_1 := {"VALUE_1"}; - - v_updateRequest.primitiveContent.container.labels := v_labels_1; - - v_ae1.start(f_CSE_NBR_ASY_005(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_005_RET() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_005(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container - v_ae1.done; - - } - - testcase TC_CSE_NBR_ASY_005_DEL() runs on Tester system CseSystem { - // Local variables - var template RequestPrimitive v_createRequest := m_createContainerBase; - var AeSimu v_ae1 := AeSimu.create("AE1") alive; - - v_ae1.start(f_CSE_NBR_ASY_005(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container - v_ae1.done; - - } - - }// end group g_CSE_NBR_ASY_005 - - }// end group Asynchronous - - }// end group Non_Blocking_Requests + /** + * @desc Check that the IUT sends the result of the requested Non-Blocking Asynchronous OPERATION as notification to the Originator when no notification target list is provided + * + */ + testcase TC_CSE_NBR_ASY_005_CRE() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_005(m_createContainerBase, -, int2001)); //Create Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_005_UPD() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var template RequestPrimitive v_updateRequest := m_updateContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var Labels v_labels_1 := {"VALUE_1"}; + + v_updateRequest.primitiveContent.container.labels := v_labels_1; + + v_ae1.start(f_CSE_NBR_ASY_005(m_updateContainerBase, m_createContainerBase, int2004)); //Update Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_005_RET() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_005(m_retrieve("NotInitialized", "NotInitialized"), m_createContainerBase, int2000)); //Retrieve Container + v_ae1.done; + + } + + testcase TC_CSE_NBR_ASY_005_DEL() runs on Tester system CseSystem { + // Local variables + var template RequestPrimitive v_createRequest := m_createContainerBase; + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_NBR_ASY_005(m_delete("NotInitialized", "NotInitialized"), m_createContainerBase, int2002)); //Delete Container + v_ae1.done; + + } + + }// end group g_CSE_NBR_ASY_005 + + }// end group Asynchronous + + }// end group Non_Blocking_Requests + }//end of group Response Type + group Device_Management { group timeSeries {