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

Verification of all GMG test cases


Signed-off-by: Miguel Angel Reina Ortega's avatarMiguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
parent d5cfd083
......@@ -15148,7 +15148,9 @@ module OneM2M_Testcases {
var RequestPrimitive v_request;
var ListOfURIs v_memberIDs;
var template RequestPrimitive v_createRequest;
var template RequestPrimitive v_createContainerRequest_1 := m_createContainer_noResourceName;
var template RequestPrimitive v_createContainerRequest_2 := m_createContainer_noResourceName;
// Test control
// Test component configuration
......@@ -15159,8 +15161,8 @@ module OneM2M_Testcases {
// Preamble
v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
v_containerIndex_1 := f_cse_createResource(int3, v_createContainerRequest_1, v_aeIndex); // AE child resource
v_containerIndex_2 := f_cse_createResource(int3, v_createContainerRequest_2, v_aeIndex); // AE child resource
v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
......@@ -15592,221 +15594,6 @@ module OneM2M_Testcases {
f_cf01Down();
}
group g_CSE_GMG_CRE_008 {
/**
* @desc Check that IUT generates a request primitive for each resource in memberIDs with no relative address appended to it.
*
*/
testcase TC_CSE_GMG_CRE_008_CRE() runs on Tester system CseSystem { //Create
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainer_rc1;
v_ae1.start(f_CSE_GMG_CRE_008(m_createContainerBase, v_contentResponse, int2001));
v_ae1.done;
}//end TC_CSE_GMG_CRE_008_CRE
testcase TC_CSE_GMG_CRE_008_UPD() runs on Tester system CseSystem { //Update
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateAeBase;
var template PrimitiveContent v_contentResponse;
var Labels v_labels_1:= {"VALUE_1"};
v_contentResponse.aE := m_contentAe_allOmit;
v_contentResponse.aE.labels := ?;
v_updateRequest.primitiveContent.aE.labels := v_labels_1;
v_ae1.start(f_CSE_GMG_CRE_008(v_updateRequest, v_contentResponse, int2004));
v_ae1.done;
}//end TC_CSE_GMG_CRE_008_UPD
testcase TC_CSE_GMG_CRE_008_RET() runs on Tester system CseSystem { //Retrieve
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.aE := mw_contentAeBase;
v_ae1.start(f_CSE_GMG_CRE_008(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000));
v_ae1.done;
}//end TC_CSE_GMG_CRE_008_RET
testcase TC_CSE_GMG_CRE_008_DEL() runs on Tester system CseSystem { //Delete
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.aE := mw_contentAeBase;// TODO see with wath should it be matched
v_ae1.start(f_CSE_GMG_CRE_008(m_delete("Temporary", "Temporary"), v_contentResponse, int2002));
v_ae1.done;
}//end TC_CSE_GMG_CRE_008_DEL
function f_CSE_GMG_CRE_008(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on AeSimu {
//Local constants
const integer c_numberOfResponsePrimitive := 2;
// Local variables
var MsgIn v_response;
var integer v_aeIndex := -1;
var integer v_containerIndex_1 := -1;
var integer v_containerIndex_2 := -1;
var integer v_groupIndex := -1;
var ListOfURIs v_memberIDs;
var integer i;
// Test control
// Test component configuration
f_cf01Up();
// Test adapter configuration
// Preamble
v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
v_containerIndex_2 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, -), v_aeIndex); // AE child resource
p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);
// Test Body
mcaPort.send(m_request(valueof(p_requestPrimitive)));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource");
if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided");
}
else{
if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){
setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid");
}
else{
for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){
if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, p_contentResponse)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected");
}
}
}
}
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Wrong response status code");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error while creating resource");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer while creating resource");
}
}
// Postamble
f_cse_postamble_deleteResources();
// Tear down
f_cf01Down();
} // end f_CSE_GMG_CRE_008
} // end group g_CSE_GMG_CRE_008
/**
* @desc Check that IUT generates a request primitive for each resource in memberIDs with a relative address appended to it.
*
*/
testcase TC_CSE_GMG_CRE_009() runs on AeSimu system CseSystem {
//Local constants
const integer c_numberOfResponsePrimitive := 2;
// Local variables
var MsgIn v_response;
var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex := -1;
var integer i;
var ListOfURIs v_memberIDs;
var ListOfURIs v_membersAcpIds;
var RequestPrimitive v_createRequest := valueof(m_createContentInstance("NotInitialized", "Value1"));
var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -);
var template PrimitiveContent v_contentResponse;
v_contentResponse.contentInstance := mw_contentContentInstanceBase;
// Test control
if(not(PICS_ACP_SUPPORT)) {
setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
stop;
}
// Test component configuration
f_cf01Up();
// Test adapter configuration
// Preamble
v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred
v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource
v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource
v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource
v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)};
v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds, -), -);
v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName;
v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
// Test Body
mcaPort.send(m_request(v_createRequest));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource");
if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided");
}
else{
if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){
setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid");
}
else{
for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){
if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, v_contentResponse)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected");
}
}
}
}
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Wrong response status code");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error while creating resource");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer while creating resource");
}
}
// Postamble
f_cse_postamble_deleteResources();
// Tear down
f_cf01Down();
} // end TC_CSE_GMG_CRE_009
} // end group Create
......@@ -15822,15 +15609,16 @@ module OneM2M_Testcases {
// Local variables
var MsgIn v_response;
var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex, v_contentInstanceIndex_1, v_contentInstanceIndex_2 := -1;
var integer v_aeIndex_1, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex, v_contentInstanceIndex_1, v_contentInstanceIndex_2 := -1;
var integer i;
var ListOfURIs v_memberIDs;
var ListOfURIs v_membersAcpIds;
var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -);
var template PrimitiveContent v_contentResponse;
var XSD.AnyURI v_fanoutPointAddress;
var RequestPrimitive v_containerRequestPrimitive := m_createContainer_noResourceName;
v_contentResponse.container := mw_contentContainerBase;
v_contentResponse.contentInstance := mw_contentContentInstanceBase;
// Test control
if(not(PICS_ACP_SUPPORT)) {
......@@ -15845,17 +15633,17 @@ module OneM2M_Testcases {
// Preamble
v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred
v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource
v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource
v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource
v_containerRequestPrimitive := f_setAcpId(v_containerRequestPrimitive, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)});
v_containerIndex_1 := f_cse_createResource(int3, v_containerRequestPrimitive, v_aeIndex_1); // AE1 child resource
v_containerIndex_2 := f_cse_createResource(int3, v_containerRequestPrimitive, v_aeIndex_1); // AE2 child resource
v_contentInstanceIndex_1 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_1); // Container_1 child resource
v_contentInstanceIndex_2 := f_cse_createResource(int4, m_createContentInstanceBase, v_containerIndex_2); // Container_2 child resource
v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)};
v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds), -1);
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, v_membersAcpIds), -1);
v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName & "/" & c_resourceShortNameLatest;
v_fanoutPointAddress := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_resourceShortNameLatest;
// Test Body
mcaPort.send(m_request(m_retrieveResource(v_fanoutPointAddress, f_getOriginator(v_aeIndex_1)))); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
......@@ -15937,11 +15725,12 @@ module OneM2M_Testcases {
// Preamble
v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
v_acpIndex := f_cse_createResource(int1, v_createAcp, v_aeIndex); // AE child resource
v_containerCreateRequest.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
v_containerIndex_1 := f_cse_createResource(int3, m_createContainer_noResourceName, v_aeIndex); // AE child resource
v_containerIndex_2 := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource)}, omit, int3, -, - , -), v_aeIndex);
v_containerCreateRequest := f_setAcpId(v_containerCreateRequest, {f_getResourceId(vc_resourcesList[v_acpIndex].resource)});
v_containerIndex_2 := f_cse_createResource(int3, v_containerCreateRequest, v_aeIndex); // AE child resource
v_updateRequest.primitiveContent.group_.memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
v_request := f_getUpdateRequestPrimitive(int9, v_groupIndex, v_updateRequest); // creating group
......@@ -16160,7 +15949,7 @@ module OneM2M_Testcases {
// Preamble
v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi
v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex);
v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex);
v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource);
v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
......@@ -16182,8 +15971,8 @@ module OneM2M_Testcases {
setverdict(fail, __SCOPE__, ": Error, memberTypeValidated attribute not provided");
}
else {
if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != false) {
setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be FALSE");
if(v_response.primitive.responsePrimitive.primitiveContent.group_.memberTypeValidated != true) {
setverdict(fail, __SCOPE__, ": Error, memberTypeValidated must be TRUE");
}
}
......@@ -16256,7 +16045,7 @@ module OneM2M_Testcases {
// Preamble
v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi
v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex);
v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex);
v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource);
v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
......@@ -16354,7 +16143,7 @@ module OneM2M_Testcases {
// Preamble
v_aeIndex := f_cse_preamble_registerAe(); //c_CRUDNDi
v_containerIndex := f_cse_createResource(int3, m_createContainer("NotInitialized", "MyContainer"), v_aeIndex);
v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
v_subGroupIndex := f_cse_createResource(int9, m_createGroupBase, v_aeIndex);
v_memberId_1 := f_getResourceId(vc_resourcesList[v_containerIndex].resource);
v_memberId_2 := f_getResourceId(vc_resourcesList[v_subGroupIndex].resource);
......@@ -16807,7 +16596,8 @@ module OneM2M_Testcases {
p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
p_requestPrimitive.from_ := f_getOriginator(v_groupIndex);
p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000);
// Test Body
mcaPort.send(m_request(valueof(p_requestPrimitive)));
......@@ -16922,6 +16712,7 @@ module OneM2M_Testcases {
p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
p_requestPrimitive.from_ := f_getOriginator(v_groupIndex);
p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000);
// Test Body
......@@ -17027,6 +16818,7 @@ module OneM2M_Testcases {
p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
p_requestPrimitive.from_ := f_getOriginator(v_groupIndex);
p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000);
// Test Body
......@@ -17142,6 +16934,7 @@ module OneM2M_Testcases {
p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
p_requestPrimitive.from_ := f_getOriginator(v_groupIndex);
p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000);
// Test Body
......@@ -17174,6 +16967,271 @@ module OneM2M_Testcases {
} // end f_CSE_GMG_004
} // end group g_CSE_GMG_004
group g_CSE_GMG_005 {
/**
* @desc Check that IUT generates a request primitive for each resource in memberIDs with no relative address appended to it.
*
*/
testcase TC_CSE_GMG_005_CRE() runs on Tester system CseSystem { //Create
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainer_rc1;
v_ae1.start(f_CSE_GMG_005(m_createContainerBase, v_contentResponse, int2001));
v_ae1.done;
}//end TC_CSE_GMG_005_CRE
testcase TC_CSE_GMG_005_UPD() runs on Tester system CseSystem { //Update
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateContainerBase;
var template PrimitiveContent v_contentResponse;
var Labels v_labels_1:= {"VALUE_1"};
v_contentResponse.container := mw_contentContainerBase;
v_contentResponse.container.labels := ?;
v_updateRequest.primitiveContent.container.labels := v_labels_1;
v_ae1.start(f_CSE_GMG_005(v_updateRequest, v_contentResponse, int2004));
v_ae1.done;
}//end TC_CSE_GMG_005_UPD
testcase TC_CSE_GMG_005_RET() runs on Tester system CseSystem { //Retrieve
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainerBase;
v_ae1.start(f_CSE_GMG_005(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000));
v_ae1.done;
}//end TC_CSE_GMG_005_RET
testcase TC_CSE_GMG_005_DEL() runs on Tester system CseSystem { //Delete
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainerBase;// TODO see with wath should it be matched
v_ae1.start(f_CSE_GMG_005(m_delete("Temporary", "Temporary"), v_contentResponse, int2002));
v_ae1.done;
}//end TC_CSE_GMG_005_DEL
function f_CSE_GMG_005(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on AeSimu {
//Local constants
const integer c_numberOfResponsePrimitive := 2;
// Local variables
var MsgIn v_response;
var integer v_aeIndex := -1;
var integer v_containerIndex_1 := -1;
var integer v_containerIndex_2 := -1;
var integer v_groupIndex := -1;
var ListOfURIs v_memberIDs;
var integer i;
var template RequestPrimitive v_createContainerRequest_1 := m_createContainer_noResourceName;
var template RequestPrimitive v_createContainerRequest_2 := m_createContainer_noResourceName;
// Test control
// Test component configuration
f_cf01Up();
// Test adapter configuration
// Preamble
v_aeIndex := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
v_containerIndex_1 := f_cse_createResource(int3, v_createContainerRequest_1, v_aeIndex); // AE child resource
v_containerIndex_2 := f_cse_createResource(int3, v_createContainerRequest_2, v_aeIndex); // AE child resource
v_memberIDs := {f_getResourceId(vc_resourcesList[v_containerIndex_1].resource), f_getResourceId(vc_resourcesList[v_containerIndex_2].resource)};
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int3, -, -), v_aeIndex); // AE child resource
p_requestPrimitive.to_ := f_getResourceAddress(v_groupIndex) & "/fopt";
p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);
p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000);
// Test Body
mcaPort.send(m_request(valueof(p_requestPrimitive)));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(p_responseStatusCode))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource");
if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided");
}
else{
if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){
setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid");
}
else{
for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){
if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, p_contentResponse)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected");
}
}
}
}
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Wrong response status code");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error while creating resource");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer while creating resource");
}
}
// Postamble
f_cse_postamble_deleteResources();
// Tear down
f_cf01Down();
} // end f_CSE_GMG_005
} // end group g_CSE_GMG_005
group g_CSE_GMG_006 {
/**
* @desc Check that IUT generates a request primitive for each resource in memberIDs with no relative address appended to it.
*
*/
testcase TC_CSE_GMG_006_CRE() runs on Tester system CseSystem { //Create
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainer_rc1;
v_ae1.start(f_CSE_GMG_006(m_createContainerBase, v_contentResponse, int2001));
v_ae1.done;
}//end TC_CSE_GMG_006_CRE
testcase TC_CSE_GMG_006_UPD() runs on Tester system CseSystem { //Update
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateContainerBase;
var template PrimitiveContent v_contentResponse;
var Labels v_labels_1:= {"VALUE_1"};
v_contentResponse.container := mw_contentContainerBase;
v_contentResponse.container.labels := ?;
v_updateRequest.primitiveContent.container.labels := v_labels_1;
v_ae1.start(f_CSE_GMG_006(v_updateRequest, v_contentResponse, int2004));
v_ae1.done;
}//end TC_CSE_GMG_006_UPD
testcase TC_CSE_GMG_006_RET() runs on Tester system CseSystem { //Retrieve
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainerBase;
v_ae1.start(f_CSE_GMG_006(m_retrieveResource("Temporary", "Temporary"), v_contentResponse, int2000));
v_ae1.done;
}//end TC_CSE_GMG_006_RET
testcase TC_CSE_GMG_006_DEL() runs on Tester system CseSystem { //Delete
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.container := mw_contentContainerBase;// TODO see with wath should it be matched
v_ae1.start(f_CSE_GMG_006(m_delete("Temporary", "Temporary"), v_contentResponse, int2002));
v_ae1.done;
}//end TC_CSE_GMG_006_DEL
/**
* @desc Check that IUT generates a request primitive for each resource in memberIDs with a relative address appended to it.
*
*/
function f_CSE_GMG_006(template RequestPrimitive p_requestPrimitive, template PrimitiveContent p_contentResponse, in ResponseStatusCode p_responseStatusCode) runs on AeSimu {
//Local constants
const integer c_numberOfResponsePrimitive := 2;
// Local variables
var MsgIn v_response;
var integer v_aeIndex_1, v_aeIndex_2, v_acpIndex, v_containerIndex_1, v_containerIndex_2, v_groupIndex := -1;
var integer i;
var ListOfURIs v_memberIDs;
var ListOfURIs v_membersAcpIds;
var RequestPrimitive v_createRequest := valueof(m_createContentInstance("NotInitialized", "Value1"));
var template RequestPrimitive v_createAcp := m_createAcp("NotInitialized", "MyACP", -, -);
var template PrimitiveContent v_contentResponse;
v_contentResponse.contentInstance := mw_contentContentInstanceBase;
// Test control
if(not(PICS_ACP_SUPPORT)) {
setverdict(inconc, __SCOPE__ & ": AccessControlPolicy support is required to run this test case");
stop;
}
// Test component configuration
f_cf01Up();
// Test adapter configuration
// Preamble
v_aeIndex_1 := f_cse_preamble_registerAe(-, -); //c_CRUDNDi
v_aeIndex_2 := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", omit), -1); // AE2 is registred
v_acpIndex := f_cse_createResource(int1, v_createAcp, -1); // AE child resource
v_containerIndex_1 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_1); // AE1 child resource
v_containerIndex_2 := f_cse_createResource(int3, m_createContainerBase, v_aeIndex_2); // AE2 child resource
v_memberIDs := {f_getResourceId(vc_resourcesList[v_aeIndex_1].resource), f_getResourceId(vc_resourcesList[v_aeIndex_2].resource)};
v_membersAcpIds := {f_getResourceId(vc_resourcesList[v_acpIndex].resource)};
v_groupIndex := f_cse_createResource(int9, m_createGroup(2, v_memberIDs, omit, int2, -, v_membersAcpIds, -), -);
v_createRequest.to_ := f_getResourceAddress(v_groupIndex) & "/" & c_resourceShortNameFanOutPoint & "/" & c_defaultContainerResourceName;
v_createRequest.from_ := f_getOriginator(v_groupIndex); //TODO see if it is correct or if we have to use PX_SUPER_ADMIN
v_createRequest.requestIdentifier := v_createRequest.requestIdentifier & f_rnd(1, 1000000);
// Test Body
mcaPort.send(m_request(v_createRequest));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) -> value v_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": creation successfull by using fanOutPoint in group resource");
if(not ispresent(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse attribute not provided");
}
else{
if(lengthof(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list) != c_numberOfResponsePrimitive){
setverdict(fail, __SCOPE__, ": Error, length of aggregatedResponse is not valid");
}
else{
for(i:=0; i<c_numberOfResponsePrimitive; i:=i+1){
if(not match(v_response.primitive.responsePrimitive.primitiveContent.aggregatedResponse.responsePrimitive_list[i].primitiveContent, v_contentResponse)){
setverdict(fail, __SCOPE__, ": Error, aggregatedResponse doesn't match with template expected");
}
}
}
}
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Wrong response status code");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error while creating resource");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No answer while creating resource");
}
}
// Postamble
f_cse_postamble_deleteResources();
// Tear down
f_cf01Down();
} // end f_CSE_GMG_006
}//end group g_CSE_GMG_006
}// End of Basic_Operations
......@@ -19407,6 +19465,7 @@ module OneM2M_Testcases {
// Test Body
p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
p_requestPrimitive.from_ := "UnknowOriginator";
p_requestPrimitive.requestIdentifier := p_requestPrimitive.requestIdentifier & f_rnd(1, 1000000);
mcaPort.send(m_request(valueof(p_requestPrimitive)));
tc_ac.start;
......@@ -19518,6 +19577,7 @@ module OneM2M_Testcases {
// Test Body
p_requestPrimitive.to_ := f_getResourceAddress(v_aeIndex);
p_requestPrimitive.from_ := f_getOriginator(v_aeIndex);