Commit e7ca5475 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

New test case TC_CSE_RT_BR_001 implemented according to TDE-2019-0087


Signed-off-by: Miguel Angel Reina Ortega's avatarreinaortega <miguelangel.reinaortega@etsi.org>
parent 2671b317
......@@ -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;
}
}
......
......@@ -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();