Skip to content
Snippets Groups Projects
Commit 7da9b134 authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Adding descriptions to all functions in OneM2M_Functions file

Renaming of "child" component:
- vc_cseSimu -> vc_cse1
- vc_aeSimu -> vc_ae1 for CseSimu or vc_ae2 for AeSimu

Signed-off-by: Miguel Angel Reina Ortega's avatarMiguel Angel Reina Ortega <miguelangel.reinaortega@etsi.org>
parent e3cc4e6d
No related branches found
No related tags found
No related merge requests found
...@@ -15,13 +15,11 @@ module OneM2M_Functions { ...@@ -15,13 +15,11 @@ module OneM2M_Functions {
import from XSD all; import from XSD all;
import from OneM2M_Templates all; import from OneM2M_Templates all;
import from OneM2M_Types all;//{type XSD.ID}; import from OneM2M_Types all;
import from OneM2M_TypesAndValues all; import from OneM2M_TypesAndValues all;
import from OneM2M_TestSystem all; import from OneM2M_TestSystem all;
import from OneM2M_Pixits all; import from OneM2M_Pixits all;
import from OneM2M_Pics all; import from OneM2M_Pics all;
// import from OneM2M_AdditionalTypes all;
group ConfigFunctions { group ConfigFunctions {
...@@ -45,6 +43,7 @@ module OneM2M_Functions { ...@@ -45,6 +43,7 @@ module OneM2M_Functions {
vc_auxiliaryAe2Up := p_auxiliaryAe2Required; vc_auxiliaryAe2Up := p_auxiliaryAe2Required;
vc_ae2 := AeSimu.create("AE2") alive; vc_ae2 := AeSimu.create("AE2") alive;
vc_ae2.start(f_cf01UpAe2()); vc_ae2.start(f_cf01UpAe2());
vc_ae2.done;
} }
//Initialze the IUT //Initialze the IUT
...@@ -79,21 +78,42 @@ module OneM2M_Functions { ...@@ -79,21 +78,42 @@ module OneM2M_Functions {
// Variables // Variables
vc_config := e_cf02; vc_config := e_cf02;
vc_cseSimu := CseSimu.create("CSE1") alive; vc_cse1 := CseSimu.create("CSE1") alive;
// Map // Map
map(self:mcaPort, system:mcaPort); map(self:mcaPort, system:mcaPort);
map(vc_cseSimu:mccPort, system:mccPort);
map(self:acPort, system:acPort); map(self:acPort, system:acPort);
activate(a_default()); activate(a_default());
activate(a_cse_aeSimu()); activate(a_cse_cf02_ae1());
vc_cse1.start(f_cf02UpCse1());
vc_cse1.done;
// Connect // Connect
f_connectInfoPort(vc_cseSimu);
//Initialze the IUT //Initialze the IUT
} // end f_cf02Up } // end f_cf02Up
/**
@desc Ports mapping and default behaviour activation for Config 2 on the CSE1
*/
function f_cf02UpCse1() runs on CseSimu {
// Variables
vc_config := e_cf02;
// Map
map(self:mccPort, system:mccPort);
map(self:mccPortIn, system:mccPortIn);
map(self:acPort, system:acPort);
activate(a_default());
activate(a_cse_cf02_cse1());
//Initialze the IUT
} // end f_cf02UpCse1
/** /**
* @desc Ports mapping and default behaviour activation for Config 02 * @desc Ports mapping and default behaviour activation for Config 02
*/ */
...@@ -101,21 +121,42 @@ module OneM2M_Functions { ...@@ -101,21 +121,42 @@ module OneM2M_Functions {
// Variables // Variables
vc_config := e_cf02; vc_config := e_cf02;
vc_aeSimu := AeSimu.create("AE1") alive; vc_ae1 := AeSimu.create("AE1") alive;
// Map // Map
map(self:mccPort, system:mccPort); map(self:mccPort, system:mccPort);
map(vc_aeSimu:mcaPort, system:mcaPort); map(self:mccPortIn, system:mccPortIn);
map(self:acPort, system:acPort); map(self:acPort, system:acPort);
activate(a_default()); activate(a_default());
activate(a_cse_cseSimu()); activate(a_cse_cf02_cse1());
vc_ae1.start(f_cf02UpAe1());
vc_ae1.done;
// Connect // Connect
f_connectInfoPort(vc_aeSimu);
//Initialze the IUT //Initialze the IUT
} // end f_cf02UpCseSimuMaster } // end f_cf02UpCseSimuMaster
/**
@desc Ports mapping and default behaviour activation for Config 2 on the AE1
*/
function f_cf02UpAe1() runs on AeSimu {
// Variables
vc_config := e_cf02;
// Map
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
activate(a_default());
activate(a_cse_cf02_ae1());
//Initialze the IUT
} // end f_cf02UpAe1
/** /**
* @desc Ports mapping and default behaviour activation for Config 03 * @desc Ports mapping and default behaviour activation for Config 03
*/ */
...@@ -125,7 +166,7 @@ module OneM2M_Functions { ...@@ -125,7 +166,7 @@ module OneM2M_Functions {
vc_config := e_cf03; vc_config := e_cf03;
// Map // Map
map(self:mcaPort, system:mcaPort); map(self:mcaPort, system:mcaPort);//TODO To be consistent, we should use mcaPortIn for AE testing
map(self:acPort, system:acPort); map(self:acPort, system:acPort);
activate(a_default()); activate(a_default());
activate(a_ae_cf03()); activate(a_ae_cf03());
...@@ -158,29 +199,6 @@ module OneM2M_Functions { ...@@ -158,29 +199,6 @@ module OneM2M_Functions {
/** /**
* @desc Ports unmapping * @desc Ports unmapping
* @verdict
*/
/*function f_cfCseTesterDown() runs on Tester {
if(vc_config == e_cf01) {
f_cf01Down()
} else if (vc_config == e_cf02){
f_cf02Down()
}
}
/**
* @desc Ports unmapping
* @verdict
*/
/*function f_cfAeTesterDown() runs on AeSimu {
if(vc_config == e_cf03) {
f_cf03Down()
}
}
/**
* @desc Ports unmapping
* @verdict
*/ */
function f_cf01Down() runs on AeSimu { function f_cf01Down() runs on AeSimu {
...@@ -193,7 +211,6 @@ module OneM2M_Functions { ...@@ -193,7 +211,6 @@ module OneM2M_Functions {
/** /**
* @desc Ports unmapping * @desc Ports unmapping
* @verdict
*/ */
function f_cf01DownAe2() runs on AeSimu { function f_cf01DownAe2() runs on AeSimu {
...@@ -204,25 +221,25 @@ module OneM2M_Functions { ...@@ -204,25 +221,25 @@ module OneM2M_Functions {
/** /**
* @desc Ports unmapping * @desc Ports unmapping
* @verdict
*/ */
function f_cf02Down() runs on AeSimu { function f_cf02Down() runs on AeSimu {
unmap(self:mcaPort, system:mcaPort); unmap(self:mcaPort, system:mcaPort);
unmap(vc_cseSimu:mccPort, system:mccPort);
unmap(self:acPort, system:acPort); unmap(self:acPort, system:acPort);
unmap(vc_cseSimu:acPort, system:acPort); unmap(vc_cse1:mccPort, system:mccPort);
unmap(vc_cse1:mccPortIn, system:mccPortIn);
unmap(vc_cse1:acPort, system:acPort);
} }
/** /**
* @desc Ports unmapping * @desc Ports unmapping
* @verdict
*/ */
function f_cf02DownCseSimuMaster() runs on CseSimu { function f_cf02DownCseSimuMaster() runs on CseSimu {
unmap(self:mccPort, system:mccPort); unmap(self:mccPort, system:mccPort);
unmap(vc_aeSimu:mcaPort, system:mcaPort); unmap(self:mccPortIn, system:mccPortIn);
unmap(self:acPort, system:acPort); unmap(self:acPort, system:acPort);
unmap(vc_aeSimu:acPort, system:acPort); unmap(vc_ae1:mcaPort, system:mcaPort);
unmap(vc_ae1:acPort, system:acPort);
} }
/** /**
* @desc Ports unmapping for Config 03 * @desc Ports unmapping for Config 03
...@@ -242,17 +259,198 @@ module OneM2M_Functions { ...@@ -242,17 +259,198 @@ module OneM2M_Functions {
unmap(self:acPort, system:acPort); unmap(self:acPort, system:acPort);
} }
}//end group configFunctions
group InfoPortCommunication {
/**
* @desc Connection of InfoPort of two components
* @param p_tester PTC where InfoPort is to be connected
*/
function f_connectInfoPort(in Tester p_tester) runs on Tester { function f_connectInfoPort(in Tester p_tester) runs on Tester {
// Connect // Connect
connect(self:infoPort, p_tester:infoPort); connect(self:infoPort, p_tester:infoPort);
} }
/**
* @desc Disconnection of InfoPort of two components
* @param p_tester PTC where InfoPort is to be connected
*/
function f_disconnectInfoPort(in Tester p_tester) runs on Tester { function f_disconnectInfoPort(in Tester p_tester) runs on Tester {
// Disconnect // Disconnect
disconnect(self:infoPort, p_tester:infoPort); disconnect(self:infoPort, p_tester:infoPort);
} }
}//end group configFunctions /**
* @desc Getting last responsePrimitive saved in a component
* @param p_tester Given component
*/
function f_getResponsePrimitive(in Tester p_component) runs on Tester return ResponsePrimitive {
var ResponsePrimitive v_response;
f_connectInfoPort(p_component);
p_component.start(f_sendResponsePrimitive());
alt {
[]infoPort.receive(mw_responsePrimitiveforInfoPort) -> value v_response {
}
}
f_disconnectInfoPort(p_component);
return v_response;
}
/**
* @desc Getting last requestPrimitive saved in an AeSimu component
* @param p_tester Given component
*/
function f_getRequestPrimitive(in Tester p_component) runs on Tester return RequestPrimitive {
var RequestPrimitive v_request;
f_connectInfoPort(p_component);
p_component.start(f_sendRequestPrimitive());
alt {
[]infoPort.receive(mw_requestPrimitiveforInfoPort) -> value v_request {
}
}
f_disconnectInfoPort(p_component);
return v_request;
}
/**
* @desc Getting primitiveContent retrieved in an AeSimu component
* @param p_tester AeSimu component
*/
function f_getPrimitiveContentRetrievedResource(in AeSimu p_ae) runs on Tester return PrimitiveContent {
var PrimitiveContent v_primitiveContent;
f_connectInfoPort(p_ae);
p_ae.start(f_sendPrimitiveContentRetrievedResource());
alt {
[]infoPort.receive(mw_primitiveContent) -> value v_primitiveContent {
}
}
f_disconnectInfoPort(p_ae);
return v_primitiveContent;
}
/**
* @desc Getting remoteCSE resource from a CseSimu component
* @param p_tester CseSimu component
*/
function f_getRemoteCseResource(in CseSimu p_cse) runs on Tester return integer {
var MyResource v_resource;
var integer v_resourceIndex := -1;
f_connectInfoPort(p_cse);
p_cse.start(f_sendRemoteCseResource());
alt {
[]infoPort.receive(mw_resource) -> value v_resource {
v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
}
}
f_disconnectInfoPort(p_cse);
return v_resourceIndex;
}
/**
* @desc Getting a specific resource from an AeSimu component
* @param p_tester AeSimu component
* @param p_resourceIndex Index of resource to be retrieved
*/
function f_getResource(in Tester p_component, in integer p_resourceIndex := -1) runs on Tester return integer {
var MyResource v_resource;
var integer v_resourceIndex := -1;
f_connectInfoPort(p_component);
p_component.start(f_sendResource(p_resourceIndex));
alt {
[]infoPort.receive(mw_resource) -> value v_resource {
v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
}
}
f_disconnectInfoPort(p_component);
return v_resourceIndex;
}
/**
* @desc Sending of last responsePrimitive (vc_response) through InfoPort
*/
function f_sendResponsePrimitive() runs on Tester {
infoPort.send(vc_response.primitive.responsePrimitive);
}
/**
* @desc Sending of last requestPrimitive (vc_request) through InfoPort
*/
function f_sendRequestPrimitive() runs on Tester {
infoPort.send(vc_request.primitive.requestPrimitive);
}
/**
* @desc Sending of last primitiveContent retrieved (vc_primitiveContentRetrievedResource) through InfoPort
*/
function f_sendPrimitiveContentRetrievedResource() runs on AeSimu {
infoPort.send(vc_primitiveContentRetrievedResource);
}
/**
* @desc Sending of remoteCSE resource through InfoPort
*/
function f_sendRemoteCseResource() runs on CseSimu {
infoPort.send(vc_resourcesList[vc_remoteCseIndex]);
}
/**
* @desc Sending of Ae resource through InfoPort
*/
function f_sendAeResource() runs on AeSimu {
infoPort.send(vc_resourcesList[vc_aeAuxIndex]);
}
/**
* @desc Sending of a specific resource through InfoPort
* @param p_resourceIndex Index of resource to be sent
*/
function f_sendResource(in integer p_resourceIndex) runs on Tester {
if(p_resourceIndex == -1) {
infoPort.send(vc_resourcesList[vc_aeAuxIndex]); //TODO To send Ae or RemoteCSE depending on the component type
} else {
infoPort.send(vc_resourcesList[p_resourceIndex]);
}
}
}// end of gropu InfoPortCommunication
group CseFunctions { group CseFunctions {
...@@ -272,8 +470,9 @@ module OneM2M_Functions { ...@@ -272,8 +470,9 @@ module OneM2M_Functions {
/** /**
* @desc Creation of auxiliar resources ACP and AE for correct execution of the test case * @desc Creation of auxiliar resource AE for correct execution of the test case
* @param p_allowedOperations Allowed operations for the auxiliar AE resource * @param p_accessControlPolicyIDs AccessControlPolicyIDs for the auxiliar AE resource
* @param p_poaList Point of contact of the auxiliar AE resource
* @return Internal AE resource index * @return Internal AE resource index
* @verdict * @verdict
*/ */
...@@ -325,12 +524,12 @@ module OneM2M_Functions { ...@@ -325,12 +524,12 @@ module OneM2M_Functions {
f_checkAeSimuStatus(); f_checkAeSimuStatus();
return vc_aeAuxIndex; return vc_aeAuxIndex;
} }
/** /**
* @desc Creation of auxiliar resources ACP and AE for correct execution of the test case * @desc Creation of auxiliar resources ACP and AE for correct execution of the test case
* @param p_allowedOperations Allowed operations for the auxiliar AE resource * @param p_allowedOperations Allowed operations for the auxiliar AE resource
* @param p_appId AppID of the AE resource to be created
* @return Internal AE resource index * @return Internal AE resource index
* @verdict * @verdict
*/ */
...@@ -395,6 +594,12 @@ module OneM2M_Functions { ...@@ -395,6 +594,12 @@ module OneM2M_Functions {
} }
/**
* @desc Creation of ServiceSubscribedAppRule resource
* @param p_allowedAEs Allowed AEs
* @return Internal resource index
* @verdict
*/
function f_cse_preamble_createServiceSubscribedAppRule(in template ListOfM2MID p_allowedAEs := {""}) runs on AeSimu return integer {//c_CRUDNDi function f_cse_preamble_createServiceSubscribedAppRule(in template ListOfM2MID p_allowedAEs := {""}) runs on AeSimu return integer {//c_CRUDNDi
var integer v_serviceSubscribedAppRuleIndex := -1; var integer v_serviceSubscribedAppRuleIndex := -1;
...@@ -405,6 +610,12 @@ module OneM2M_Functions { ...@@ -405,6 +610,12 @@ module OneM2M_Functions {
} }
/**
* @desc Creation of SubscribedProfile resource
* @param p_allowedAEs Allowed AEs
* @return Internal resource index
* @verdict
*/
function f_cse_preamble_createServiceSubscribedProfile(in template ListOfM2MID p_allowedAEs := {""}) runs on AeSimu return integer {//c_CRUDNDi function f_cse_preamble_createServiceSubscribedProfile(in template ListOfM2MID p_allowedAEs := {""}) runs on AeSimu return integer {//c_CRUDNDi
var integer v_serviceSubscribedAppRuleIndex := -1; var integer v_serviceSubscribedAppRuleIndex := -1;
...@@ -420,6 +631,14 @@ module OneM2M_Functions { ...@@ -420,6 +631,14 @@ module OneM2M_Functions {
} }
/**
* @desc Registration of AE2 for handling of notifications and handling of subscription verification started if subscription resource is to be created
* @param p_ae2Index Internal AE2 resource index
* @param p_createRequestPrimitive CREATE Request for the resource to be created
* @param p_resourceType ResourceType of the resource to be created
* @param p_responseStatusCode Response Status Code to be sent in response to the subscription verification request
* @verdict
*/
function f_cse_preamble_subscriptionVerification(inout integer p_ae2Index, inout template RequestPrimitive p_createRequestPrimitive,in ResourceType p_resourceType, in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu { function f_cse_preamble_subscriptionVerification(inout integer p_ae2Index, inout template RequestPrimitive p_createRequestPrimitive,in ResourceType p_resourceType, in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu {
if(p_resourceType == int23){ if(p_resourceType == int23){
...@@ -440,7 +659,7 @@ module OneM2M_Functions { ...@@ -440,7 +659,7 @@ module OneM2M_Functions {
group PostambleFunctions { group PostambleFunctions {
/** /**
* @desc Deletion of all resources created during the test case execution. IUT gets clean and ready for next execution * @desc Deletion of all resources created during the test case execution. It deals also with AE2 created resources if any. IUT gets clean and ready for next execution
* @verdict * @verdict
*/ */
function f_cse_postamble_deleteResources() runs on AeSimu { function f_cse_postamble_deleteResources() runs on AeSimu {
...@@ -485,7 +704,7 @@ module OneM2M_Functions { ...@@ -485,7 +704,7 @@ module OneM2M_Functions {
} }
/** /**
* @desc Calls to postamble for AE2 entity * @desc Calls to postamble for AeSimu components (i.e. AE2)
* @verdict * @verdict
*/ */
function f_cse_postamble_aeSimu(in AeSimu p_ae) runs on AeSimu { function f_cse_postamble_aeSimu(in AeSimu p_ae) runs on AeSimu {
...@@ -536,171 +755,6 @@ module OneM2M_Functions { ...@@ -536,171 +755,6 @@ module OneM2M_Functions {
} }
/**
@desc
*/
function f_getResponsePrimitive(in AeSimu p_ae) runs on Tester return ResponsePrimitive {
var ResponsePrimitive v_response;
f_connectInfoPort(p_ae);
p_ae.start(f_sendResponsePrimitive());
alt {
[]infoPort.receive(mw_responsePrimitiveforInfoPort) -> value v_response {
}
}
f_disconnectInfoPort(p_ae);
return v_response;
}
/**
@desc
*/
function f_getRequestPrimitive(in AeSimu p_ae) runs on Tester return RequestPrimitive {
var RequestPrimitive v_request;
f_connectInfoPort(p_ae);
p_ae.start(f_sendRequestPrimitive());
alt {
[]infoPort.receive(mw_requestPrimitiveforInfoPort) -> value v_request {
}
}
f_disconnectInfoPort(p_ae);
return v_request;
}
function f_getRemoteCseRequestPrimitive(in CseSimu p_cse) runs on Tester return RequestPrimitive {
var RequestPrimitive v_request;
f_connectInfoPort(p_cse);
p_cse.start(f_sendRemoteCseRequestPrimitive());
alt {
[]infoPort.receive(mw_requestPrimitiveforInfoPort) -> value v_request {
}
}
f_disconnectInfoPort(p_cse);
return v_request;
}
/**
@desc
*/
function f_getPrimitiveContentRetrievedResource(in AeSimu p_ae) runs on Tester return PrimitiveContent {
var PrimitiveContent v_primitiveContent;
f_connectInfoPort(p_ae);
p_ae.start(f_sendPrimitiveContentRetrievedResource());
alt {
[]infoPort.receive(mw_primitiveContent) -> value v_primitiveContent {
}
}
f_disconnectInfoPort(p_ae);
return v_primitiveContent;
}
/**
@desc
*/
function f_getRemoteCseResource(in CseSimu p_cse) runs on AeSimu return integer {
var MyResource v_resource;
var integer v_resourceIndex := -1;
f_connectInfoPort(p_cse);
p_cse.start(f_sendRemoteCseResource());
alt {
[]infoPort.receive(mw_resource) -> value v_resource {
v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
}
}
f_disconnectInfoPort(p_cse);
return v_resourceIndex;
}
/**
@desc
*/
function f_getResource(in AeSimu p_ae, in integer p_resourceIndex := -1) runs on AeSimu return integer {
var MyResource v_resource;
var integer v_resourceIndex := -1;
f_connectInfoPort(p_ae);
p_ae.start(f_sendResource(p_resourceIndex));
alt {
[]infoPort.receive(mw_resource) -> value v_resource {
v_resourceIndex := f_setResource(v_resource.resource, v_resource.resourceType, v_resource.parentIndex, false);
}
}
f_disconnectInfoPort(p_ae);
p_ae.done;
return v_resourceIndex;
}
function f_sendResponsePrimitive() runs on AeSimu {
infoPort.send(vc_response.primitive.responsePrimitive);
}
function f_sendRequestPrimitive() runs on AeSimu {
infoPort.send(vc_request.primitive.requestPrimitive);
}
function f_sendRemoteCseRequestPrimitive() runs on CseSimu {
infoPort.send(vc_request.primitive.requestPrimitive);
}
function f_sendPrimitiveContentRetrievedResource() runs on AeSimu {
infoPort.send(vc_primitiveContentRetrievedResource);
}
function f_sendRemoteCseResource() runs on CseSimu {
infoPort.send(vc_resourcesList[vc_remoteCseIndex]);
}
function f_sendResource(in integer p_resourceIndex) runs on AeSimu {
if(p_resourceIndex == -1) {
infoPort.send(vc_resourcesList[vc_aeAuxIndex]);
} else {
infoPort.send(vc_resourcesList[p_resourceIndex]);
}
}
}//end group postambleFunctions }//end group postambleFunctions
group AeSimuFunctions { group AeSimuFunctions {
...@@ -708,7 +762,7 @@ module OneM2M_Functions { ...@@ -708,7 +762,7 @@ module OneM2M_Functions {
/** /**
* @desc Creation of a resource * @desc Creation of a resource
* @param p_resourceType Resource type of the resource to be created * @param p_resourceType Resource type of the resource to be created
* @param p_requestPrimitive Template request primitive * @param p_requestPrimitive CREATE request primitive for the resource to be created
* @param p_parentIndex Internal resource index which indicates the parent of the resource to be created * @param p_parentIndex Internal resource index which indicates the parent of the resource to be created
* @return Internal resource index of the created resource * @return Internal resource index of the created resource
* @verdict * @verdict
...@@ -794,34 +848,9 @@ module OneM2M_Functions { ...@@ -794,34 +848,9 @@ module OneM2M_Functions {
} }
/**
* @desc Creation of the auxiliar Container resource
* @param p_parentIndex Internal resource index which indicates the parent of the Container resource to be created
* @return Internal resource index of the created Container resource
* @verdict
*/
function f_cse_createContainerResourceAux (integer p_parentIndex := -1) runs on AeSimu return integer {
var RequestPrimitive v_request;
var integer v_acpAuxIndex := -1;
var integer v_containerResourceIndex := -1;
v_acpAuxIndex := f_cse_createAccessControlPolicyAux(p_acpName := c_acpAuxName);//"MyAcp_2"
v_request := valueof(m_createContainerBase);
v_request.primitiveContent.container.accessControlPolicyIDs := {f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)};
v_request.primitiveContent.container.resourceName := "MyContainerAux";
v_containerResourceIndex := f_cse_createResource(int3, v_request, p_parentIndex);
return v_containerResourceIndex;
}
/** /**
* @desc * @desc Message exchange for the update of a resource
* @param p_requestPrimitive * @param p_requestPrimitive UPDATE request primitive to be used
* @verdict * @verdict
*/ */
function f_cse_updateResource(in RequestPrimitive p_requestPrimitive) runs on AeSimu { function f_cse_updateResource(in RequestPrimitive p_requestPrimitive) runs on AeSimu {
...@@ -851,8 +880,9 @@ module OneM2M_Functions { ...@@ -851,8 +880,9 @@ module OneM2M_Functions {
}// end f_cse_updateResource }// end f_cse_updateResource
/** /**
* @desc * @desc Message exchange for the retrieval of a resource
* @param p_resourceIndex * @param p_resourceIndex Resource index of the resource to be retrieved
* @return PrimitiveContent parameter of the RETRIEVE response
* @verdict * @verdict
*/ */
function f_cse_retrieveResource(integer p_resourceIndex) runs on AeSimu return PrimitiveContent{ function f_cse_retrieveResource(integer p_resourceIndex) runs on AeSimu return PrimitiveContent{
...@@ -881,11 +911,12 @@ module OneM2M_Functions { ...@@ -881,11 +911,12 @@ module OneM2M_Functions {
return vc_response.primitive.responsePrimitive.primitiveContent; return vc_response.primitive.responsePrimitive.primitiveContent;
}// end f_cse_retrievingResource }// end f_cse_retrieveResource
/** /**
* @desc * @desc Message exchange for the deletion of a resource
* @param p_requestPrimitive * @param p_index Resource index of the resource to be deleted
* @param p_requestPrimitive DELETE request to be used. If not present default DELETE request will be used
* @verdict * @verdict
*/ */
function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on AeSimu { function f_cse_deleteResource(in integer p_index, in template (omit) RequestPrimitive p_requestPrimitive := omit) runs on AeSimu {
...@@ -921,8 +952,8 @@ module OneM2M_Functions { ...@@ -921,8 +952,8 @@ module OneM2M_Functions {
}// end f_cse_deleteResource }// end f_cse_deleteResource
/** /**
* @desc Check that a resource is present in the IUT (resourceId is known) * @desc Check that a resource is present in the IUT (resourceId is known) by using RETRIEVE operation
* @param p_resourceIndex Resource index * @param p_resourceIndex Resource index of the resource to be checked
* @return boolean * @return boolean
*/ */
function f_isResourcePresent (integer p_resourceIndex) runs on AeSimu return boolean { function f_isResourcePresent (integer p_resourceIndex) runs on AeSimu return boolean {
...@@ -951,8 +982,8 @@ module OneM2M_Functions { ...@@ -951,8 +982,8 @@ module OneM2M_Functions {
/** /**
* @desc Check that a resource is not present in the IUT (resourceId is NOT known) * @desc Check that a resource is not present in the IUT (resourceId is NOT known)
* @param p_parentIndex Index of the parent resource * @param p_parentIndex Index of the parent resource of the resource to be checked
* @param p_resourceName Resource name (Hierarchical method is used) * @param p_resourceName Resource name (Hierarchical method is used) of the resource to be checked
* @return boolean * @return boolean
*/ */
function f_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on AeSimu return boolean { function f_isResourceNotPresent (integer p_parentIndex, XSD.String p_resourceName) runs on AeSimu return boolean {
...@@ -982,7 +1013,7 @@ module OneM2M_Functions { ...@@ -982,7 +1013,7 @@ module OneM2M_Functions {
} }
/** /**
* @desc Update of the auxiliar ACP resource * @desc Message exchange for the update of the auxiliar ACP resource
* @param p_allowedOperations New allowed operations * @param p_allowedOperations New allowed operations
* @verdict * @verdict
*/ */
...@@ -1001,6 +1032,7 @@ module OneM2M_Functions { ...@@ -1001,6 +1032,7 @@ module OneM2M_Functions {
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
tc_ac.stop; tc_ac.stop;
setverdict(pass, __SCOPE__&":INFO: " & v_request.to_ & " resource updated successfuly"); setverdict(pass, __SCOPE__&":INFO: " & v_request.to_ & " resource updated successfuly");
//TODO To save new values
} }
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop; tc_ac.stop;
...@@ -1015,9 +1047,9 @@ module OneM2M_Functions { ...@@ -1015,9 +1047,9 @@ module OneM2M_Functions {
} }
/** /**
* @desc Function to handle announcement of resources * @desc Handling of announcement of resources
* @param p_from * @param p_from Expected originator of the request primitive
* @param p_to * @param p_to Expected receiver of the request primitive
* @verdict * @verdict
*/ */
//TODO To finalize this function //TODO To finalize this function
...@@ -1028,16 +1060,16 @@ module OneM2M_Functions { ...@@ -1028,16 +1060,16 @@ module OneM2M_Functions {
tc_ac.start; tc_ac.start;
alt { alt {
[] mccPort.receive(mw_request(mw_create(p_from, p_to))) -> value v_request { [] mccPortIn.receive(mw_request(mw_create(p_from, p_to))) -> value v_request {
tc_ac.stop; tc_ac.stop;
setverdict(pass, __SCOPE__ & ":INFO: Announcement received"); setverdict(pass, __SCOPE__ & ":INFO: Announcement received");
//TODO Save resource and generate required attributes //TODO Save resource and generate required attributes
v_responsePrimitive := f_getCreateResponsePrimitive(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive); v_responsePrimitive := f_getCreateResponsePrimitive(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive);
mccPort.send(m_response(v_responsePrimitive)); mccPortIn.send(m_response(v_responsePrimitive));
f_checkAttributesToBeSaved(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive, vc_response.primitive.responsePrimitive); f_checkAttributesToBeSaved(v_request.primitive.requestPrimitive.resourceType, v_request.primitive.requestPrimitive, vc_response.primitive.responsePrimitive);
f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, v_request.primitive.requestPrimitive.resourceType, vc_remoteCseIndex); f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, v_request.primitive.requestPrimitive.resourceType, vc_remoteCseIndex);
} }
[] mccPort.receive{ [] mccPortIn.receive{
tc_ac.stop; tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: Unexpected message received"); setverdict(fail, __SCOPE__ & ":ERROR: Unexpected message received");
} }
...@@ -1051,9 +1083,9 @@ module OneM2M_Functions { ...@@ -1051,9 +1083,9 @@ module OneM2M_Functions {
} //end f_cse_resourceAnnouncementHandler } //end f_cse_resourceAnnouncementHandler
/** /**
* @desc Function for announcement of resources * @desc Message exchange for the announcement of resources
* @param p_from * @param p_resourceType ResourceType of the resource to be announced
* @param p_to * @param p_requestPrimitive CREATE request to be used for the announcement
* @verdict * @verdict
*/ */
//TODO To finalize this function //TODO To finalize this function
...@@ -1068,17 +1100,17 @@ module OneM2M_Functions { ...@@ -1068,17 +1100,17 @@ module OneM2M_Functions {
mccPort.send(m_request(v_request)); mccPort.send(m_request(v_request));
tc_ac.start; tc_ac.start;
alt { alt {
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response {
tc_ac.stop; tc_ac.stop;
setverdict(pass, __SCOPE__&":INFO: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly"); setverdict(pass, __SCOPE__&":INFO: Resource type " & int2str(enum2int(p_resourceType)) & " created successfuly");
f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive); f_checkAttributesToBeSaved(p_resourceType, v_request, vc_response.primitive.responsePrimitive);
v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, vc_remoteCseIndex); v_resourceIndex := f_setResource(vc_response.primitive.responsePrimitive.primitiveContent, p_resourceType, vc_remoteCseIndex);
} }
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop; tc_ac.stop;
setverdict(inconc, __SCOPE__&":INFO: Error while creating resource type " & int2str(enum2int(p_resourceType))); setverdict(inconc, __SCOPE__&":INFO: Error while creating resource type " & int2str(enum2int(p_resourceType)));
} }
[] mcaPort.receive { [] mccPort.receive {
tc_ac.stop; tc_ac.stop;
setverdict(inconc, __SCOPE__&":INFO: Unexpected message received"); setverdict(inconc, __SCOPE__&":INFO: Unexpected message received");
} }
...@@ -1091,8 +1123,16 @@ module OneM2M_Functions { ...@@ -1091,8 +1123,16 @@ module OneM2M_Functions {
return v_resourceIndex; return v_resourceIndex;
} //end f_cse_resourceAnnouncementHandler } //end f_cse_announceResource
/**
* @desc Checking of returned important attributed (in response) in order to save properly internally
* @param p_resourceType ResourceType of the resource to be checked
* @param p_request Request primitive used for the CRU operation
* @param p_response Response primitive received
* @verdict
*/
//Note: This function will be continously extended with necessary attributes/resources
function f_checkAttributesToBeSaved (ResourceType p_resourceType, RequestPrimitive p_request, inout ResponsePrimitive p_response) { function f_checkAttributesToBeSaved (ResourceType p_resourceType, RequestPrimitive p_request, inout ResponsePrimitive p_response) {
select (p_resourceType) { select (p_resourceType) {
case (int1) { case (int1) {
...@@ -1166,6 +1206,13 @@ module OneM2M_Functions { ...@@ -1166,6 +1206,13 @@ module OneM2M_Functions {
// TODO test that if the resource name is returned is the same resource name as used in the create message // TODO test that if the resource name is returned is the same resource name as used in the create message
} }
/**
* @desc Comparison of two URIs
* @param p_expectedURIIndex Resource index of the resource for which its URI is to be compared
* @param p_receivedURI URI to be compared
* @param p_response Response primitive received
* @verdict
*/
function f_compareURIs(in integer p_expectedURIIndex, in XSD.ID p_receivedURI) runs on Tester return boolean{ function f_compareURIs(in integer p_expectedURIIndex, in XSD.ID p_receivedURI) runs on Tester return boolean{
// Local variables // Local variables
var boolean v_matchResult := false; var boolean v_matchResult := false;
...@@ -1203,6 +1250,11 @@ module OneM2M_Functions { ...@@ -1203,6 +1250,11 @@ module OneM2M_Functions {
group NotificationFunctions { group NotificationFunctions {
/**
* @desc Handling message exchange for the subscription verification
* @param p_responseStatusCode Response Status Code to be used for the response to the verification request
* @verdict
*/
function f_cse_notifyProcedure_subscriptionVerificationHandler(in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu { function f_cse_notifyProcedure_subscriptionVerificationHandler(in ResponseStatusCode p_responseStatusCode := int2001) runs on AeSimu {
// Local variables // Local variables
var ResponsePrimitive v_responsePrimitive; var ResponsePrimitive v_responsePrimitive;
...@@ -1250,6 +1302,11 @@ module OneM2M_Functions { ...@@ -1250,6 +1302,11 @@ module OneM2M_Functions {
} //end f_subscriptionVerificationHandler } //end f_subscriptionVerificationHandler
/**
* @desc Handling message exchange for the notification procedure
* @param p_primitiveContent Expected primitiveContent in the notification
* @verdict
*/
function f_cse_notifyProcedure_representationHandler(template PrimitiveContent p_primitiveContent) runs on AeSimu { function f_cse_notifyProcedure_representationHandler(template PrimitiveContent p_primitiveContent) runs on AeSimu {
// Local variables // Local variables
var ResponsePrimitive v_responsePrimitive; var ResponsePrimitive v_responsePrimitive;
...@@ -1280,6 +1337,11 @@ module OneM2M_Functions { ...@@ -1280,6 +1337,11 @@ module OneM2M_Functions {
} //end f_cse_notifyProcedure_representationHandler } //end f_cse_notifyProcedure_representationHandler
/**
* @desc Handling message exchange for the notification procedure (aggregatedNotification)
* @param p_primitiveContent Expected primitiveContent in the notification
* @verdict
*/
function f_cse_notifyProcedure_aggregatedNoficationHandler(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on AeSimu { function f_cse_notifyProcedure_aggregatedNoficationHandler(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on AeSimu {
// Local variables // Local variables
var ResponsePrimitive v_responsePrimitive; var ResponsePrimitive v_responsePrimitive;
...@@ -1334,6 +1396,11 @@ module OneM2M_Functions { ...@@ -1334,6 +1396,11 @@ module OneM2M_Functions {
} //end f_cse_notifyProcedure_aggregatedNotificationHandler } //end f_cse_notifyProcedure_aggregatedNotificationHandler
/**
* @desc Handling message exchange for the notification procedure (deletion of subscription resource)
* @param p_notification Expected notification
* @verdict
*/
function f_cse_notifyProcedure_subscriptionDeletionHandler( template Notification p_notification) runs on AeSimu { function f_cse_notifyProcedure_subscriptionDeletionHandler( template Notification p_notification) runs on AeSimu {
var ResponsePrimitive v_responsePrimitive; var ResponsePrimitive v_responsePrimitive;
tc_ac.start; tc_ac.start;
...@@ -1358,6 +1425,10 @@ module OneM2M_Functions { ...@@ -1358,6 +1425,10 @@ module OneM2M_Functions {
} //end f_cse_notifyProcedure_subscriptionDeletionHandler } //end f_cse_notifyProcedure_subscriptionDeletionHandler
/**
* @desc Handling message exchange for the notification procedure (no notification expected)
* @verdict
*/
function f_cse_notifyProcedure_noNotificationHandler() runs on AeSimu { function f_cse_notifyProcedure_noNotificationHandler() runs on AeSimu {
// Local variables // Local variables
...@@ -1374,6 +1445,12 @@ module OneM2M_Functions { ...@@ -1374,6 +1445,12 @@ module OneM2M_Functions {
} //end f_cse_notifyProcedure_noNotification Handler } //end f_cse_notifyProcedure_noNotification Handler
/**
* @desc Checking of notification primitiveContent
* @param p_requestPrimitive Received Notification request
* @param p_primitiveContent Expected primitiveContent in the notification
* @verdict
*/
function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on Tester return boolean{ function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on Tester return boolean{
// Local variables // Local variables
var boolean v_matchResult := false; var boolean v_matchResult := false;
...@@ -1458,6 +1535,7 @@ module OneM2M_Functions { ...@@ -1458,6 +1535,7 @@ module OneM2M_Functions {
/** /**
* @desc Registration of Test System (simulating a CSE) to the CSE IUT (creation of remoteCSE) * @desc Registration of Test System (simulating a CSE) to the CSE IUT (creation of remoteCSE)
* @param p_requestPrimitive Template request primitive * @param p_requestPrimitive Template request primitive
* @param p_primitiveContent Expected primitiveContent in the CREATE response primitive
* @return Internal resource index of the created resource * @return Internal resource index of the created resource
*/ */
function f_cse_registerRemoteCse(in template RequestPrimitive p_requestPrimitive, in template PrimitiveContent p_contentResponse := ?) runs on CseSimu return integer { function f_cse_registerRemoteCse(in template RequestPrimitive p_requestPrimitive, in template PrimitiveContent p_contentResponse := ?) runs on CseSimu return integer {
...@@ -1521,7 +1599,6 @@ module OneM2M_Functions { ...@@ -1521,7 +1599,6 @@ module OneM2M_Functions {
v_remoteCSEResource := f_cse_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, 1, int16);//TODO Get index from v_request.primitive.requestPrimitive.to_ v_remoteCSEResource := f_cse_generateLocalResource(v_request.primitive.requestPrimitive.primitiveContent, 1, int16);//TODO Get index from v_request.primitive.requestPrimitive.to_
v_localResourceIndex := f_setLocalResource(v_remoteCSEResource, int16, -1); v_localResourceIndex := f_setLocalResource(v_remoteCSEResource, int16, -1);
v_response := m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier); v_response := m_responsePrimitive(int2001,v_request.primitive.requestPrimitive.requestIdentifier);
v_response.from_ := PX_CSE1_ID; v_response.from_ := PX_CSE1_ID;
v_response.to_ := v_request.primitive.requestPrimitive.from_; v_response.to_ := v_request.primitive.requestPrimitive.from_;
...@@ -1529,7 +1606,6 @@ module OneM2M_Functions { ...@@ -1529,7 +1606,6 @@ module OneM2M_Functions {
mccPort.send(m_response(v_response)); mccPort.send(m_response(v_response));
v_resourceIndex := f_setResource(v_request.primitive.responsePrimitive.primitiveContent, int16, -1); v_resourceIndex := f_setResource(v_request.primitive.responsePrimitive.primitiveContent, int16, -1);
} }
[] mccPortIn.receive { [] mccPortIn.receive {
tc_ac.stop; tc_ac.stop;
...@@ -1546,40 +1622,23 @@ module OneM2M_Functions { ...@@ -1546,40 +1622,23 @@ module OneM2M_Functions {
} }
/**
* @desc Send a request to the CSE IUT from the Test System (simulating a CSE)
* @param p_requestPrimitive Template request primitive
* @return Internal resource index of the created resource
*/
function f_cse_sendCreateRequest(in template RequestPrimitive p_requestPrimitive) runs on CseSimu {
//TODO: To be completed
// var RequestPrimitive v_request;
//
// v_request := f_getCreateRequestPrimitive(p_requestPrimitive);
//
// mccPort.send(m_request(v_request));
}
/** /**
* @desc Receive a request from the CSE IUT to the Test System (simulating a CSE) * @desc Receive a request from the CSE IUT to the Test System (simulating a CSE)
* @param p_requestPrimitive Template request primitive * @param p_requestPrimitive Expected CREATE request primitive
* @return Internal resource index of the created resource
*/ */
function f_cse_receiveCreateRequest(in template RequestPrimitive p_requestPrimitive := ?) runs on CseSimu { function f_cse_receiveCreateRequest(in template RequestPrimitive p_requestPrimitive := ?) runs on CseSimu {
tc_ac.start; tc_ac.start;
alt { alt {
[] mccPort.receive(mw_request(p_requestPrimitive)) -> value vc_request { [] mccPortIn.receive(mw_request(p_requestPrimitive)) -> value vc_request {
tc_ac.stop; tc_ac.stop;
setverdict(pass, __SCOPE__&":INFO: CREATE Request received successfuly"); setverdict(pass, __SCOPE__&":INFO: CREATE Request received successfuly");
} }
[] mccPort.receive(mw_request(?)) { [] mccPortIn.receive(mw_request(?)) {
tc_ac.stop; tc_ac.stop;
setverdict(fail, __SCOPE__&":INFO: Unexpected CREATE Request received"); setverdict(fail, __SCOPE__&":INFO: Unexpected CREATE Request received");
} }
[] mccPort.receive { [] mccPortIn.receive {
tc_ac.stop; tc_ac.stop;
setverdict(fail, __SCOPE__&":INFO: Unexpected message received"); setverdict(fail, __SCOPE__&":INFO: Unexpected message received");
} }
...@@ -1593,12 +1652,11 @@ module OneM2M_Functions { ...@@ -1593,12 +1652,11 @@ module OneM2M_Functions {
} }
/** /**
* @desc Creates specified resource * @desc Creation of a local resource (Test System simulating a CSE)
* @param p_resource Resource to be created * @param p_resource Resource to be created
* @param p_parentIndex Parent index of resource to be saved * @param p_parentIndex Parent resource index of resource to be saved
* @param p_resourceType Type of the resource to be created * @param p_resourceType Type of the resource to be created
* @param p_modifiedResource Assigned and/or modified fields * @return Internal created resource
* @return Internal resource index of the saved resource or -1
*/ */
function f_cse_generateLocalResource(in PrimitiveContent p_resource, in integer p_parentIndex, in ResourceType p_resourceType) runs on CseSimu return PrimitiveContent { function f_cse_generateLocalResource(in PrimitiveContent p_resource, in integer p_parentIndex, in ResourceType p_resourceType) runs on CseSimu return PrimitiveContent {
...@@ -1675,11 +1733,11 @@ module OneM2M_Functions { ...@@ -1675,11 +1733,11 @@ module OneM2M_Functions {
} }
/** /**
* @desc Cse altstep for config 02 * @desc Cse altstep for config 02 on CSE1 (AE1 as master)
*/ */
altstep a_cse_cf02() runs on CseSimu { altstep a_cse_cf02_cse1() runs on CseSimu {
[] mcaPort.receive { [] mccPortIn.receive {
log(__SCOPE__&": WARNING: Unexpected message received"); log(__SCOPE__&": WARNING: Unexpected message received");
repeat; repeat;
} }
...@@ -1690,21 +1748,10 @@ module OneM2M_Functions { ...@@ -1690,21 +1748,10 @@ module OneM2M_Functions {
} }
/** /**
* @desc CseSimu altstep * @desc Cse altstep for config 02 on AE1 (CSE1 as master)
*/ */
altstep a_cse_cseSimu() runs on CseSimu { altstep a_cse_cf02_ae1() runs on AeSimu
{
[] mccPort.receive {
log(__SCOPE__&": WARNING: Unexpected message received");
repeat;
}
}
/**
* @desc Cse altstep for config 02
*/
altstep a_cse_aeSimu() runs on AeSimu {
[] mcaPort.receive { [] mcaPort.receive {
log(__SCOPE__&": WARNING: Unexpected message received"); log(__SCOPE__&": WARNING: Unexpected message received");
repeat; repeat;
...@@ -1732,6 +1779,7 @@ module OneM2M_Functions { ...@@ -1732,6 +1779,7 @@ module OneM2M_Functions {
/** /**
* @desc Waits for AE registration request and process it * @desc Waits for AE registration request and process it
* @param p_utRequest UpperTester request primitive to be sent to the IUT
* @return Internal resource index of AE or -1 in case of failure * @return Internal resource index of AE or -1 in case of failure
* @verdict inconc if no AE registration request is received * @verdict inconc if no AE registration request is received
*/ */
...@@ -1780,6 +1828,7 @@ module OneM2M_Functions { ...@@ -1780,6 +1828,7 @@ module OneM2M_Functions {
/** /**
* @desc Waits for Container create request and process it * @desc Waits for Container create request and process it
* @param p_utRequest UpperTester request primitive to be sent to the IUT
* @return Internal resource index of Container or -1 in case of failure * @return Internal resource index of Container or -1 in case of failure
* @verdict inconc if no Container create request is received * @verdict inconc if no Container create request is received
*/ */
...@@ -2666,8 +2715,8 @@ module OneM2M_Functions { ...@@ -2666,8 +2715,8 @@ module OneM2M_Functions {
if(vc_config == e_cf01) { if(vc_config == e_cf01) {
f_cf01Down(); f_cf01Down();
} else if (vc_config ==e_cf02) { } else if (vc_config ==e_cf02) {
vc_cseSimu.start(f_cse_postamble_deleteResourcesCSE()); vc_cse1.start(f_cse_postamble_deleteResourcesCSE());
vc_cseSimu.done; vc_cse1.done;
f_cf02Down(); f_cf02Down();
} }
stop; stop;
...@@ -2784,6 +2833,7 @@ module OneM2M_Functions { ...@@ -2784,6 +2833,7 @@ module OneM2M_Functions {
/** /**
* @desc Get the Resource Identifier with Unstructured-CSE-relative -Resource-ID format * @desc Get the Resource Identifier with Unstructured-CSE-relative -Resource-ID format
* @return Cleaned-up resourceID
*/ */
function f_resourceIdCleaner(in XSD.ID p_resourceID) return XSD.ID { function f_resourceIdCleaner(in XSD.ID p_resourceID) return XSD.ID {
var integer v_length := lengthof(p_resourceID); var integer v_length := lengthof(p_resourceID);
...@@ -2845,6 +2895,12 @@ module OneM2M_Functions { ...@@ -2845,6 +2895,12 @@ module OneM2M_Functions {
} }
} }
/**
* @desc Removal of an element from a given integer list
* @param p_list Given integer list
* @param p_valueToBeDeleted Element value to be removed
* @verdict
*/
function f_removeElementFromList (inout IntegerList p_list, in integer p_valueToBeDeleted) { function f_removeElementFromList (inout IntegerList p_list, in integer p_valueToBeDeleted) {
var IntegerList result := {}; var IntegerList result := {};
var integer i; var integer i;
...@@ -2856,6 +2912,12 @@ module OneM2M_Functions { ...@@ -2856,6 +2912,12 @@ module OneM2M_Functions {
p_list := result; p_list := result;
} }
/**
* @desc Build a reception template from the primitiveContent sent in previous request primitive
* @param p_primitiveContent PrimitiveContent from previous request primitive
* @return Built reception template
* @verdict
*/
function f_getTemplateFromPrimitiveContent (in template PrimitiveContent p_primitiveContent) return template PrimitiveContent{ function f_getTemplateFromPrimitiveContent (in template PrimitiveContent p_primitiveContent) return template PrimitiveContent{
var template PrimitiveContent v_primitiveContent := omit; var template PrimitiveContent v_primitiveContent := omit;
...@@ -3108,6 +3170,12 @@ module OneM2M_Functions { ...@@ -3108,6 +3170,12 @@ module OneM2M_Functions {
return v_primitiveContent; return v_primitiveContent;
} }
/**
* @desc Comparison of two primitiveContent parameters
* @param p_responsePrimitiveContent Received primitiveContent
* @param p_requestPrimitiveContent Sent primitiveContent
* @verdict
*/
function f_match2PrimitiveContent (in PrimitiveContent p_responsePrimitiveContent, in template PrimitiveContent p_requestPrimitiveContent) runs on Tester { function f_match2PrimitiveContent (in PrimitiveContent p_responsePrimitiveContent, in template PrimitiveContent p_requestPrimitiveContent) runs on Tester {
var template PrimitiveContent v_primitiveContent; var template PrimitiveContent v_primitiveContent;
var PrimitiveContent v_response; var PrimitiveContent v_response;
......
...@@ -33,11 +33,11 @@ module OneM2M_TestSystem { ...@@ -33,11 +33,11 @@ module OneM2M_TestSystem {
var Configurations vc_config; var Configurations vc_config;
var MyResourcesList vc_resourcesList; var MyResourcesList vc_resourcesList;
var IntegerList vc_resourcesIndexToBeDeleted := {}; var IntegerList vc_resourcesIndexToBeDeleted := {};
//var PrimitiveScope vc_primitiveScope := PX_PRIMITIVE_SCOPE;
//var AddressingMethod vc_addressingMethod := PX_ADDRESSING_METHOD;
var integer vc_aeAuxIndex;//TODO To be removed var integer vc_aeAuxIndex;//TODO To be removed
var integer vc_acpAuxIndex; var integer vc_acpAuxIndex;
var AccessControlPolicy_optional vc_acpAux; var AccessControlPolicy_optional vc_acpAux;
var MsgIn vc_request;
var MsgIn vc_response;
}; };
type component AeSimu extends Tester { type component AeSimu extends Tester {
...@@ -48,12 +48,8 @@ module OneM2M_TestSystem { ...@@ -48,12 +48,8 @@ module OneM2M_TestSystem {
//global variables //global variables
var PrimitiveContent vc_primitiveContentRetrievedResource; var PrimitiveContent vc_primitiveContentRetrievedResource;
var MsgIn vc_request; var CseSimu vc_cse1;//For CF02 when AeSimu is master
var MsgIn vc_response;
var CseSimu vc_cseSimu;//For CF02 when AeSimu is master
var boolean vc_auxiliaryAe2Up := false; var boolean vc_auxiliaryAe2Up := false;
//var AeSimu vc_ae2;
}; };
type component CseSimu extends Tester { type component CseSimu extends Tester {
...@@ -63,10 +59,8 @@ module OneM2M_TestSystem { ...@@ -63,10 +59,8 @@ module OneM2M_TestSystem {
//global variables //global variables
var MyResourcesList vc_localResourcesList; var MyResourcesList vc_localResourcesList;
var AeSimu vc_aeSimu;//For CF02 when CseSimu is master var AeSimu vc_ae1;//For CF02 when CseSimu is master
var integer vc_remoteCseIndex; var integer vc_remoteCseIndex;
var MsgIn vc_request;
var MsgIn vc_response;
}; };
type component InCseSimu extends CseSimu {} type component InCseSimu extends CseSimu {}
......
...@@ -963,8 +963,8 @@ module OneM2M_Testcases_CSE { ...@@ -963,8 +963,8 @@ module OneM2M_Testcases_CSE {
//Preamble //Preamble
v_remoteCseIndex := f_cse_registrationRemoteCse(); v_remoteCseIndex := f_cse_registrationRemoteCse();
vc_aeSimu := AeSimu.create("AE1") alive; vc_ae1 := AeSimu.create("AE1") alive;
//vc_aeSimu.start(f_a); //vc_ae1.start(f_a);
} }
...@@ -1034,7 +1034,7 @@ module OneM2M_Testcases_CSE { ...@@ -1034,7 +1034,7 @@ module OneM2M_Testcases_CSE {
vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase); vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
//Test Body //Test Body
vc_aeSimu.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit))); vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)));
//v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex); //v_request := f_getCreateRequestPrimitive(v_resourceType, v_request, v_cseBaseIndex);
...@@ -1058,8 +1058,8 @@ module OneM2M_Testcases_CSE { ...@@ -1058,8 +1058,8 @@ module OneM2M_Testcases_CSE {
} }
} }
/*vc_cseSimu.start(f_cse_receiveCreateRequest(mw_createAEAnnc(-, -, -))); /*vc_cse1.start(f_cse_receiveCreateRequest(mw_createAEAnnc(-, -, -)));
vc_cseSimu.done;*/ vc_cse1.done;*/
// Postamble // Postamble
f_cse_postamble_deleteResourcesCSE(); f_cse_postamble_deleteResourcesCSE();
...@@ -1084,14 +1084,14 @@ module OneM2M_Testcases_CSE { ...@@ -1084,14 +1084,14 @@ module OneM2M_Testcases_CSE {
//Preambule //Preambule
vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase); vc_remoteCseIndex := f_cse_registrationRemoteCse(mw_createRemoteCSEBase);
vc_aeSimu.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S"))); vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S")));
//TODO: //TODO:
//v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex))); //v_request := valueof(m_delete(f_getResourceAddress(v_aeIndex), f_getOriginator(v_aeIndex)));
//mcaPort.send(m_request(v_request)); //mcaPort.send(m_request(v_request));
//Test Body //Test Body
vc_aeSimu.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S"))); vc_ae1.start(f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S")));
tc_ac.start; tc_ac.start;
...@@ -1191,13 +1191,13 @@ module OneM2M_Testcases_CSE { ...@@ -1191,13 +1191,13 @@ module OneM2M_Testcases_CSE {
f_cf02Up(); f_cf02Up();
//Preambule //Preambule
vc_cseSimu.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase)); vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase));
vc_cseSimu.done; vc_cse1.done;
v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM")); v_aeIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, "S-AE-ID-STEM"));
vc_cseSimu.start(f_cse_resourceAnnouncementHandler()); vc_cse1.start(f_cse_resourceAnnouncementHandler());
vc_cseSimu.done; vc_cse1.done;
//TODO Deregister //TODO Deregister
//f_cse_deleteResource(v_aeIndex); //f_cse_deleteResource(v_aeIndex);
...@@ -1207,8 +1207,8 @@ module OneM2M_Testcases_CSE { ...@@ -1207,8 +1207,8 @@ module OneM2M_Testcases_CSE {
//Test Body //Test Body
f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, f_getResourceId(vc_resourcesList[v_aeIndex].resource))); f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, f_getResourceId(vc_resourcesList[v_aeIndex].resource)));
vc_cseSimu.start(f_cse_resourceAnnouncementHandler(PX_CSE_ID, f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative))); vc_cse1.start(f_cse_resourceAnnouncementHandler(PX_CSE_ID, f_getResourceAddress(v_aeIndex, e_nonHierarchical, e_spRelative)));
vc_cseSimu.done; vc_cse1.done;
tc_ac.start; tc_ac.start;
...@@ -1720,7 +1720,7 @@ module OneM2M_Testcases_CSE { ...@@ -1720,7 +1720,7 @@ module OneM2M_Testcases_CSE {
// Test adapter configuration // Test adapter configuration
// Preamble // Preamble
vc_cseSimu.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase)); vc_cse1.start(f_cse_registrationRemoteCse(mw_createRemoteCSEBase));
// Test Body // Test Body
f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)); f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit));
...@@ -6029,8 +6029,8 @@ module OneM2M_Testcases_CSE { ...@@ -6029,8 +6029,8 @@ module OneM2M_Testcases_CSE {
mcaPort.send(m_request(v_request)); mcaPort.send(m_request(v_request));
vc_cseSimu.start(f_cse_receiveCreateRequest(p_requestAnnc)); vc_cse1.start(f_cse_receiveCreateRequest(p_requestAnnc));
vc_cseSimu.done; vc_cse1.done;
// Postamble // Postamble
f_cse_postamble_deleteResources(); f_cse_postamble_deleteResources();
...@@ -6259,15 +6259,15 @@ module OneM2M_Testcases_CSE { ...@@ -6259,15 +6259,15 @@ module OneM2M_Testcases_CSE {
// Preamble // Preamble
if (PX_IUT_IS_MN_CSE == true) { if (PX_IUT_IS_MN_CSE == true) {
vc_cseSimu.start(f_cse_registrationRemoteCse(m_createRemoteCSEBase)); vc_cse1.start(f_cse_registrationRemoteCse(m_createRemoteCSEBase));
}else if (PX_IUT_IS_IN_CSE == true) { }else if (PX_IUT_IS_IN_CSE == true) {
vc_cseSimu.start(f_cse_registerRemoteCse(m_createRemoteCSEBase)); vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
} }
vc_cseSimu.done; vc_cse1.done;
vc_cseSimu.start(f_cse_resourceAnnouncementHandler()); vc_cse1.start(f_cse_resourceAnnouncementHandler());
v_resourceIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit)); v_resourceIndex := f_cse_createResource(int2, m_createAe(PX_APP_ID, omit, omit));
vc_cseSimu.done; vc_cse1.done;
if(p_resourceType == int4) { if(p_resourceType == int4) {
v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex); v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
...@@ -6277,11 +6277,11 @@ module OneM2M_Testcases_CSE { ...@@ -6277,11 +6277,11 @@ module OneM2M_Testcases_CSE {
// Test Body // Test Body
v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex); v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
vc_cseSimu.start(f_cse_receiveCreateRequest(p_requestAnnc)); vc_cse1.start(f_cse_receiveCreateRequest(p_requestAnnc));
mcaPort.send(m_request(v_request)); mcaPort.send(m_request(v_request));
vc_cseSimu.done; vc_cse1.done;
vc_request.primitive.requestPrimitive := f_getRemoteCseRequestPrimitive(vc_cseSimu); vc_request.primitive.requestPrimitive := f_getRequestPrimitive(vc_cse1);
// Postamble // Postamble
f_cse_postamble_deleteResources(); f_cse_postamble_deleteResources();
...@@ -7815,10 +7815,10 @@ module OneM2M_Testcases_CSE { ...@@ -7815,10 +7815,10 @@ module OneM2M_Testcases_CSE {
} else { //ResourceType = RemoteCSE } else { //ResourceType = RemoteCSE
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
...@@ -7955,10 +7955,10 @@ module OneM2M_Testcases_CSE { ...@@ -7955,10 +7955,10 @@ module OneM2M_Testcases_CSE {
} else { //ResourceType = RemoteCSE } else { //ResourceType = RemoteCSE
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
...@@ -8121,10 +8121,10 @@ module OneM2M_Testcases_CSE { ...@@ -8121,10 +8121,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
} else { } else {
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
// Test Body // Test Body
...@@ -8290,10 +8290,10 @@ module OneM2M_Testcases_CSE { ...@@ -8290,10 +8290,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
}else{ }else{
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) , {"pi"}, f_getOriginator(v_aeIndex))));//from AE ID mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) , {"pi"}, f_getOriginator(v_aeIndex))));//from AE ID
...@@ -8543,10 +8543,10 @@ module OneM2M_Testcases_CSE { ...@@ -8543,10 +8543,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
}else{ }else{
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) , mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex) ,
...@@ -8684,10 +8684,10 @@ module OneM2M_Testcases_CSE { ...@@ -8684,10 +8684,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
}else{ }else{
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex), mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
...@@ -8821,10 +8821,10 @@ module OneM2M_Testcases_CSE { ...@@ -8821,10 +8821,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_requestPrimitive);//under the CSEBase resource
}else{ }else{
vc_cseSimu.start(f_cse_registerRemoteCse(p_requestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_requestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex), mcaPort.send(m_request(m_retrieveResourceAttributeContentOption(f_getResourceAddress(v_resourceIndex),
...@@ -14108,10 +14108,10 @@ module OneM2M_Testcases_CSE { ...@@ -14108,10 +14108,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource
} else { //ResourceType = RemoteCSE } else { //ResourceType = RemoteCSE
vc_cseSimu.start(f_cse_registerRemoteCse(p_createRequestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_createRequestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
//Test Body //Test Body
...@@ -14732,10 +14732,10 @@ module OneM2M_Testcases_CSE { ...@@ -14732,10 +14732,10 @@ module OneM2M_Testcases_CSE {
v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource v_resourceIndex := f_cse_createResource(p_resourceType, p_createRequestPrimitive);//under the CSEBase resource
} else { //ResourceType = RemoteCSE } else { //ResourceType = RemoteCSE
vc_cseSimu.start(f_cse_registerRemoteCse(p_createRequestPrimitive)); vc_cse1.start(f_cse_registerRemoteCse(p_createRequestPrimitive));
vc_cseSimu.done; vc_cse1.done;
v_resourceIndex := f_getRemoteCseResource(vc_cseSimu); v_resourceIndex := f_getRemoteCseResource(vc_cse1);
} }
//Test Body //Test Body
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment