Skip to content
Snippets Groups Projects
Commit 15e3b3fb authored by Siddharth Trika's avatar Siddharth Trika
Browse files

New Testcases added for PrimtiveProfile

parent 17417a8a
Branches
Tags
1 merge request!65From Release4-onwards-PrimitiveProfile-NewTestCases into Release4-onwards
...@@ -5950,6 +5950,304 @@ module OneM2M_Testcases_CSE_Release_4 { ...@@ -5950,6 +5950,304 @@ module OneM2M_Testcases_CSE_Release_4 {
} // f_CSE_PP_004_UPD } // f_CSE_PP_004_UPD
} //end group TC_CSE_PP_004 } //end group TC_CSE_PP_004
group TC_CSE_PP_005 {
/**
* @desc Check that the IUT rejects the request when the originator does not have retrieve privileges for <primitiveProfile> resource referenced by the PrimitiveProfileIdentifier parameter
*
*/
testcase TC_CSE_PP_005_CRE() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_CSE_PP_005_CRE());
v_ae1.done;
}
function f_CSE_PP_005_CRE() runs on AeSimu system CseSystem {
// Local variables
var template RequestPrimitive v_createPrimitveProfile;
var RequestPrimitive v_requestContainerCreate;
var ResponsePrimitive v_responsePrimitive;
var integer v_aeIndex := -1;
var integer v_primitiveProfileIndex := -1;
var MsgIn v_response;
// Preamble
f_cse_createAccessControlPolicyAux(-, -, int61);//c_CUDNDi) //No resource retrieval privilege
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
// Primitive Profile with add atribute "maxByte" = "100" for content resource.
v_createPrimitveProfile := m_createPrimitveProfileAddContainerMaxByte100({f_getOriginator(v_aeIndex)});
v_primitiveProfileIndex := f_cse_createResource(int62, v_createPrimitveProfile, v_aeIndex);
//Create container resource without "maxByte" primitive
v_requestContainerCreate := f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
// Link Primitve Prifle, which was created, to this Request
v_requestContainerCreate.primitiveProfileIdentifier := f_getResourceId(vc_resourcesList[v_primitiveProfileIndex].resource);
f_send(e_mcaPort, m_request(v_requestContainerCreate));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4136))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": IUT does not apply the primitive profile PRIMITIVE_PROFILE_NOT_ACCESSIBLE");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Mismatch in status response code from IUT!");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": IUT accepted the create request with non existing primtive profile!");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer from IUT for the last Request!");
}
}
//Postamble
f_cse_postamble_deleteResources();
//Tear down
f_cf01Down();
} // f_CSE_PP_005_CRE
/**
* @desc Check that the IUT rejects the request when the originator does not have retrieve privileges for <primitiveProfile> resource referenced by the PrimitiveProfileIdentifier parameter
*
*/
testcase TC_CSE_PP_005_RET() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_CSE_PP_005_RET());
v_ae1.done;
}
function f_CSE_PP_005_RET() runs on AeSimu system CseSystem {
// Local variables
var template RequestPrimitive v_createPrimitveProfile;
var RequestPrimitive v_requestContainerCreate;
var integer v_aeIndex := -1;
var integer v_primitiveProfileIndex := -1;
var integer v_containerParentIndex := -1;
var MsgIn v_response;
var RequestPrimitive v_retrieveRequest;
var template PrimitiveContent v_retriveContentResponse;
// Preamble
f_cse_createAccessControlPolicyAux(-, -, int61);//c_CUDNDi) //No resource retrieval privilege
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
// Primitive Profile with Add atribute resultContent for container resource.
v_createPrimitveProfile := m_createPrimitveProfileAddResultContentTo4({f_getOriginator(v_aeIndex)});
v_primitiveProfileIndex := f_cse_createResource(int62, v_createPrimitveProfile, v_aeIndex);
//Create Container resource
v_containerParentIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
//Create child Container resource
f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
//Retrieve container with link to Primitve Profile
v_retrieveRequest := valueof(m_retrieve(f_getResourceAddress(v_containerParentIndex), f_getOriginator(v_containerParentIndex)));
v_requestContainerCreate.primitiveProfileIdentifier := f_getResourceId(vc_resourcesList[v_primitiveProfileIndex].resource);
v_requestContainerCreate.resultContent := int1; // only attriubutes
// Set expected container of retrieve request as per Result Content=1, as the Primtive Prfile is not accessible
//v_retriveContentResponse.container := mw_contentContainer_rc1;
f_send(e_mcaPort, m_request(v_retrieveRequest));
tc_ac.start;
alt {
// Commenting out until TP is frozen
// Expect response as per resultContent=4, specified in Primitive Profile
/*
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2000, v_retriveContentResponse))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": ResultContent from Primtive Profile added to Retrieve Request");
} */
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4136))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": IUT does not apply the primitive profile PRIMITIVE_PROFILE_NOT_ACCESSIBLE");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Mismatch in status response code from IUT!");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": IUT accepted the create request with non existing primtive profile!");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer from IUT for the last Request!");
}
}
//Postamble
f_cse_postamble_deleteResources();
//Tear down
f_cf01Down();
} // f_CSE_PP_005_RET
/**
* @desc Check that the IUT rejects the request when the originator does not have retrieve privileges for <primitiveProfile> resource referenced by the PrimitiveProfileIdentifier parameter
*
*/
testcase TC_CSE_PP_005_DEL() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_CSE_PP_005_DEL());
v_ae1.done;
}
function f_CSE_PP_005_DEL() runs on AeSimu system CseSystem {
// Local variables
var template RequestPrimitive v_createPrimitveProfile;
var integer v_aeIndex := -1;
var integer v_primitiveProfileIndex := -1;
var integer v_containerIndex := -1;
var MsgIn v_response;
var RequestPrimitive v_deleteRequest;
// Preamble
f_cse_createAccessControlPolicyAux(-, -, int61);//c_CUDNDi) //No resource retrieval privilege
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
// Primitive Profile with Add atribute resultContent=1 for container resource.
v_createPrimitveProfile := m_createPrimitveProfileAddResultContentTo1({f_getOriginator(v_aeIndex)});
v_primitiveProfileIndex := f_cse_createResource(int62, v_createPrimitveProfile, v_aeIndex);
//Create Container resource
v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
//Delete container resource with default resultContent (0-nothing)
v_deleteRequest := valueof(m_delete(f_getResourceAddress(v_containerIndex), f_getOriginator(v_containerIndex)));
v_deleteRequest.primitiveProfileIdentifier := f_getResourceId(vc_resourcesList[v_primitiveProfileIndex].resource);
f_send(e_mcaPort, m_request(v_deleteRequest));
tc_ac.start;
alt {
/*
// If primitive profile awas ignored, value of resultContent(0=nothing) will be applied
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2002, omit))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": Primitive Profile ignored as it is not accessible/does not exist");
}*/
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4136))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": IUT does not apply the primitive profile PRIMITIVE_PROFILE_NOT_ACCESSIBLE");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Mismatch in status response code from IUT!");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": IUT accepted the create request with non existing primtive profile!");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer from IUT for the last Request!");
}
}
//Postamble
f_cse_postamble_deleteResources();
//Tear down
f_cf01Down();
} // f_CSE_PP_005_DEL
/**
* @desc Check that the IUT rejects the request when the originator does not have retrieve privileges for <primitiveProfile> resource referenced by the PrimitiveProfileIdentifier parameter
*
*/
testcase TC_CSE_PP_005_UPD() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_CSE_PP_005_UPD());
v_ae1.done;
}
function f_CSE_PP_005_UPD() runs on AeSimu system CseSystem {
// Local variables
var template RequestPrimitive v_createPrimitveProfile;
var RequestPrimitive v_updateContainer;
var ResponsePrimitive v_responsePrimitive;
var integer v_aeIndex := -1;
var integer v_primitiveProfileIndex := -1;
var integer v_createdContainerResource := -1;
var MsgIn v_response;
// Preamble
f_cse_createAccessControlPolicyAux(-, -, int61);//c_CUDNDi) //No resource retrieval privilege
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
// Primitive Profile with add atribute "maxByte" = "100" for content resource.
v_createPrimitveProfile := m_createPrimitveProfileAddContainerMaxByte100({f_getOriginator(v_aeIndex)});
v_primitiveProfileIndex := f_cse_createResource(int62, v_createPrimitveProfile, v_aeIndex);
//Create container resource without Primtive Profile ID and no maxByte attribte
v_createdContainerResource := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
//Update container request with Primitive Profile ID, and not including update for maxByte
v_updateContainer:= f_getUpdateRequestPrimitive(int3, v_aeIndex, m_updateContainerBase);
// Link Primitve Prifle created to this Request
v_updateContainer.primitiveProfileIdentifier := f_getResourceId(vc_resourcesList[v_primitiveProfileIndex].resource);
f_send(e_mcaPort, m_request(v_updateContainer));
tc_ac.start;
alt {
/* commented out until TP is frozen-reject/accept
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
tc_ac.stop;
// Check that IUT applied the Primitve Profile
if(v_response.primitive.responsePrimitive.primitiveContent.container.maxByteSize == 100){
setverdict(fail, __SCOPE__ & ": maxByteSize primitive value in invalid PrimitveProfile applied to Update Container Request!");
} else {
setverdict(pass, __SCOPE__ & ": maxByteSize primitive value in invalid PrimitveProfile not applied to Update Container Request!");
}
} */
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4136))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": IUT does not apply the primitive profile PRIMITIVE_PROFILE_NOT_ACCESSIBLE");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Mismatch in status response code from IUT!");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": IUT accepted the create request with non existing primtive profile!");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer from IUT for the last Request!");
}
}
//Postamble
f_cse_postamble_deleteResources();
//Tear down
f_cf01Down();
} // f_CSE_PP_005_UPD
} //end group TC_CSE_PP_005
group TC_CSE_PP_006 { group TC_CSE_PP_006 {
/** /**
...@@ -6200,6 +6498,120 @@ module OneM2M_Testcases_CSE_Release_4 { ...@@ -6200,6 +6498,120 @@ module OneM2M_Testcases_CSE_Release_4 {
} // f_CSE_PP_006_UPD } // f_CSE_PP_006_UPD
}//end group TC_CSE_PP_006 }//end group TC_CSE_PP_006
   
/**
* @desc Check that the IUT rejects the creation of <primitiveProfile> resource request when the request parameters or resource attributes defined in the additions and deletions attributes of the referenced <primitiveProfile> resource are not valid
*
*/
testcase TC_CSE_PP_007() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_CSE_PP_007());
v_ae1.done;
}
function f_CSE_PP_007() runs on AeSimu system CseSystem {
// Local variables
var RequestPrimitive v_createPrimitveProfile;
var RequestPrimitive v_updateContainer;
var ResponsePrimitive v_responsePrimitive;
var integer v_aeIndex := -1;
var integer v_primitiveProfileIndex := -1;
var integer v_acpResourceIndex := -1;
var MsgIn v_response;
var RequestPrimitive v_updateAcpRequest;
// Preamble
f_cse_createAccessControlPolicyAux(-, -, int63);
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
// Primitive Profile With Invalid Additions Or Deletions attribute
v_createPrimitveProfile := valueof(m_createPrimitveProfileWithInvalidAdditionsOrDeletions({f_getOriginator(v_aeIndex)}));
f_send(e_mcaPort, m_request(v_createPrimitveProfile));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4137))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": IUT rejected Primitve Profile with PRIMITIVE_PROFILE_BAD REQUEST");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Mismatch in status response code from IUT!");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": IUT accepted Primitve Profile with invalid parametres/attributes in additions/deletions!");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer from IUT for the last Request!");
}
}
//Postamble
f_cse_postamble_deleteResources();
//Tear down
f_cf01Down();
} // f_CSE_PP_007
/**
* @desc Check that the IUT rejects the update request of <primitiveProfile> resource when the request parameters or resource attributes defined in the additions and deletions attributes of the referenced <primitiveProfile> resource are not valid
*
*/
testcase TC_CSE_PP_008() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_CSE_PP_008());
v_ae1.done;
}
function f_CSE_PP_008() runs on AeSimu system CseSystem {
// Local variables
var template RequestPrimitive v_createPrimitveProfile;
var integer v_aeIndex := -1;
var integer v_primitiveProfileIndex := -1;
var MsgIn v_response;
var RequestPrimitive v_updatePrimitiveProfileRequest;
// Preamble
f_cse_createAccessControlPolicyAux(-, -, int63);
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[vc_acpIndex].resource)}, -);
// Primitive Profile with add atribute "maxByte" = "100" for content resource.
v_createPrimitveProfile := m_createPrimitveProfileAddContainerMaxByte100({f_getOriginator(v_aeIndex)});
v_primitiveProfileIndex := f_cse_createResource(int62, v_createPrimitveProfile, v_aeIndex);
v_updatePrimitiveProfileRequest := f_getUpdateRequestPrimitive(int62, v_primitiveProfileIndex, m_updatePrimitiveProfileWithInvalidAdditionsOrDeletions);
f_send(e_mcaPort, m_request(v_updatePrimitiveProfileRequest));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4137))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": IUT rejected Primitve Profile with PRIMITIVE_PROFILE_BAD REQUEST");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Mismatch in status response code from IUT!");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": IUT accepted Primitve Profile with invalid parametres/attributes in additions/deletions!");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer from IUT for the last Request!");
}
}
//Postamble
f_cse_postamble_deleteResources();
//Tear down
f_cf01Down();
} // f_CSE_PP_008
/** /**
* @desc Check that the IUT rejects the creation of a <primitiveProfile> resource when a mutual exclusivity check is failed, on the names of the attributes or parameters specified in the additions and deletions attributes. * @desc Check that the IUT rejects the creation of a <primitiveProfile> resource when a mutual exclusivity check is failed, on the names of the attributes or parameters specified in the additions and deletions attributes.
* *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment