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

Adding test cases file for Release 4

parent f02e838f
No related branches found
No related tags found
1 merge request!63Merge Release4-onwards into Release4
/**
* Copyright Notification
* No part of this document may be reproduced, in an electronic retrieval system or otherwise, except as authorized by written permission.
* The copyright and the foregoing restriction extend to reproduction in all media.
* © 2016, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TSDSI, TTA, TTC).
* All rights reserved.
*
* @author ETSI
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/branches/Release1/ttcn/OneM2M_Testcases.ttcn $
* $Id: OneM2M_Testcases.ttcn 347 2017-08-11 08:48:20Z reinaortega $
* @desc Module containing test cases for oneM2M
*
*/
module OneM2M_Testcases_CSE_Release_4 {
import from OneM2M_TestSystem all;
import from OneM2M_Templates all;
import from OneM2M_Types all;
import from OneM2M_TypesAndValues all;
import from OneM2M_Pixits all;
import from OneM2M_Pics all;
import from OneM2M_Functions all;
import from OneM2M_PermutationFunctions all;
import from XSD all;
//Demos used for validation purposes
group oneM2M_demos {
group helpingTestCases {//These are not part of the test suite, just for verification purposes
testcase TC_DELETE_RESOURCES() runs on AeSimu system CseSystem {
timer t_ac := 5.0;
var integer i;
var XSD.ID v_resourceAddress;
var RequestPrimitive v_request;
map(self:mcaPort, system:mcaPort) param (PX_TS_AE1.mcaPort);
for (i:=0; i<lengthof(PX_RESOURCES_TO_BE_DELETED); i:= i+1) {
v_resourceAddress := f_getResourceAddress() & "/" & PX_RESOURCES_TO_BE_DELETED[i];
v_request := valueof(m_delete(v_resourceAddress, PX_SUPER_AE_ID));
f_send(e_mcaPort, m_request(v_request));
t_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) {
t_ac.stop;
log(__SCOPE__ & ":Resource deleted");
setverdict(pass);
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
t_ac.stop;
log(__SCOPE__ & ":Error while deleting resource");
setverdict(fail);
}
[] mcaPort.receive {
t_ac.stop;
log(__SCOPE__ & ":Unexpected message received");
setverdict(inconc);
}
[] t_ac.timeout {
log(__SCOPE__ & ":No answer while deleting resource");
setverdict(inconc);
}
}
}
unmap(self:mcaPort, system:mcaPort);
stop;
}
}//end group helpingTestCases
}//end group oneM2M_demos
group CSE {
group Generic {
group Create {
} // end of group Create
group Retrieve {
} // end of group Retrieve
group Update {
} // end of group Update
group Delete {
} // end of group Delete
} // end of group Generic
group Registration {
}//end Registration
group Data_Management_and_Repository {
group Create {
group g_CSE_DMR_CRE_001 {
testcase TC_CSE_DMR_CRE_001_NOD_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createNodeBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.node.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int14, v_createRequest, -));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.node.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_MGC_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createMgmtCmdBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.mgmtCmd.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int12, v_createRequest, -));//Management Command
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.mgmtCmd.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_STCG_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createStatsConfigBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.statsConfig.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int22, v_createRequest, -));//Stats Config
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.statsConfig.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_STCL_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createStatsCollectBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.statsCollect.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int21, v_createRequest, -));//Stats Collect
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.statsCollect.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_MSSP_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createM2mServiceSubscriptionProfileBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.m2mServiceSubscriptionProfile.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int11, v_createRequest, -));//Subscription Profile
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.m2mServiceSubscriptionProfile.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
testcase TC_CSE_DMR_CRE_001_ASAR_CB() runs on Tester system CseSystem {
// Local variables
var template RequestPrimitive v_createRequest := m_createServiceSubscribedAppRuleBase;
var ResponsePrimitive v_responsePrimitive;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_createRequest.primitiveContent.serviceSubscribedAppRule.resourceName := omit;
v_ae1.start(f_CSE_DMR_CRE_001(int19, v_createRequest, -));//Service Subscribed App
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
if(not ispresent(v_responsePrimitive.primitiveContent.serviceSubscribedAppRule.resourceName)){
setverdict(fail, __SCOPE__ & ": Error, resourceName attribute not provided");
}
}
}
} // end g_CSE_DMR_CRE_001
group g_CSE_DMR_CRE_022 {
/**
* @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announceTo provided
*
*/
testcase TC_CSE_DMR_CRE_022_MGO() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
v_createRequest.primitiveContent.mgmtResource.announceTo := {PX_TS_CSE1.cseId};
v_ae1.start(f_CSE_DMR_CRE_022(int13, v_createRequest, mw_createMgmtObjAnnc));//MgmtObj
v_ae1.done;
}
testcase TC_CSE_DMR_CRE_022_NOD() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createNodeBase;
v_createRequest.primitiveContent.node.announceTo := {PX_TS_CSE1.cseId};
v_ae1.start(f_CSE_DMR_CRE_022(int14, v_createRequest, mw_createNodeAnnc));//Node
v_ae1.done;
}
} // end g_CSE_DMR_CRE_022
group g_CSE_DMR_CRE_023 {
/**
* @desc Check that the IUT accepts the creation of a RESOURCE_TYPE resource with the optional attribute announcedAttribute provided
*
*/
testcase TC_CSE_DMR_CRE_023_MGO() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createMgmtObjBase;
var RequestPrimitive v_requestPrimitive;
var XSD.String v_description := "Description of mgmtObj";
v_createRequest.primitiveContent.mgmtResource.announceTo := {PX_TS_CSE1.cseId};
v_createRequest.primitiveContent.mgmtResource.description := v_description;
v_createRequest.primitiveContent.mgmtResource.announcedAttribute := {"dc"};
v_ae1.start(f_CSE_DMR_CRE_023(int13, v_createRequest, mw_createMgmtObjAnnc()));//MgmtObj
v_ae1.done;
if(getverdict == pass){
//Check if description attribute has been announced
v_requestPrimitive := f_getRequestPrimitive(v_ae1);
if (ispresent(v_requestPrimitive.primitiveContent.announcedMgmtResource.description)){
if(v_requestPrimitive.primitiveContent.announcedMgmtResource.description != v_description){
setverdict(fail, __SCOPE__ & ": Error: Value of description has not been announced successfully");
}else{
setverdict(pass, __SCOPE__ & ": Value of description has been announced successfully");
}
}else{
setverdict(fail, __SCOPE__ & ": Error: description has not been announced");
}
}
}
testcase TC_CSE_DMR_CRE_023_NOD() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_createRequest := m_createNodeBase;
var RequestPrimitive v_requestPrimitive;
v_createRequest.primitiveContent.node.announceTo := {PX_TS_CSE1.cseId};
//TODO node to be done. hostedCSELink attribute (OA) to be added!!!
v_ae1.start(f_CSE_DMR_CRE_023(int14, v_createRequest, mw_createNodeAnnc));//Node
v_ae1.done;
}
} // end g_CSE_DMR_CRE_023
}//end group Create
group Retrieve {
group g_CSE_DMR_RET_017 {
/*testcase TC_CSE_DMR_RET_017_DLV() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.delivery := m_contentDelivery_allOmit;
v_contentResponse.delivery.parentID := ?;
v_contentResponse.delivery.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int6, m_createDeliveryBase, v_contentResponse));//Delivery
v_ae1.done;
}*/
testcase TC_CSE_DMR_RET_017_MGC() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.mgmtCmd := m_contentMgmtCmd_allOmit;
v_contentResponse.mgmtCmd.parentID := ?;
v_contentResponse.mgmtCmd.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int12, m_createMgmtCmdBase, v_contentResponse));//MgmtCmd
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_NOD() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.node := m_contentNode_allOmit;
v_contentResponse.node.parentID := ?;
v_contentResponse.node.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int14, m_createNodeBase, v_contentResponse));//Node
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_STCL() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.statsCollect := m_contentStatsCollect_allOmit;
v_contentResponse.statsCollect.parentID := ?;
v_contentResponse.statsCollect.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int21, m_createStatsCollectBase, v_contentResponse));//StatsCollect
v_ae1.done;
}
testcase TC_CSE_DMR_RET_017_STCG() runs on Tester system CseSystem {
// Local variables
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template PrimitiveContent v_contentResponse;
v_contentResponse.statsConfig := m_contentStatsConfig_allOmit;
v_contentResponse.statsConfig.parentID := ?;
v_contentResponse.statsConfig.creationTime := ?;
v_ae1.start(f_CSE_DMR_RET_017(int22, m_createStatsConfigBase, v_contentResponse));//StatsConfig
v_ae1.done;
}
} // end g_CSE_DMR_RET_017
}//end group Retrieve
group Update {
group g_CSE_DMR_UPD_015{
/**
* @desc Check that the IUT updates successfully the value of the optional attribute OPTIONAL_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
*/
testcase TC_CSE_DMR_UPD_015_NOD_LBL() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var Labels v_labels := {"MyLabel"};
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.node.labels := v_labels;
v_ae1.start(f_CSE_DMR_UPD_015(int14, m_createNodeBase, v_updateRequest));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.labels != v_labels){
setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.labels != v_labels){
setverdict(fail, __SCOPE__ & ": Error: Labels attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_015_NOD_ACPI() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var RequestPrimitive v_updateRequestPrimitive;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_ae1.start(f_CSE_DMR_UPD_015(int14, m_createNodeBase, v_updateRequest, true));//Node
v_ae1.done;
if(getverdict == pass){
v_responsePrimitive := f_getResponsePrimitive(v_ae1);
v_updateRequestPrimitive := f_getRequestPrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){
setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.accessControlPolicyIDs != valueof(v_updateRequestPrimitive.primitiveContent.node.accessControlPolicyIDs)){
setverdict(fail, __SCOPE__ & ": Error: Access Control Policy attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_015_NOD_HCL() runs on Tester system CseSystem {
/* TO BE DONE */
}
} // end group g_CSE_DMR_UPD_015
group g_CSE_DMR_UPD_016 {
/**
* @desc Check that the IUT updates successfully the value of the attribute MANDATORY_ATTRIBUTE of the RESOURCE_TYPE resource under CSEBase
*/
testcase TC_CSE_DMR_UPD_016_NOD_ET() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var Timestamp v_expirationTime := "21001231T012345";
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.node.expirationTime := v_expirationTime;
v_ae1.start(f_CSE_DMR_UPD_016(int14, m_createNodeBase, v_updateRequest));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.expirationTime != v_expirationTime){
setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.expirationTime != v_expirationTime){
setverdict(fail, __SCOPE__ & ": Error: Expiration time attribute not updated correctly")
}
}
}
}
testcase TC_CSE_DMR_UPD_016_NOD_NI() runs on Tester system CseSystem {
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
var template RequestPrimitive v_updateRequest := m_updateNodeBase;
var XSD.Token v_targetId := "TARGET-ID";
var ResponsePrimitive v_responsePrimitive;
var PrimitiveContent v_primitiveContentRetrieveResource;
v_updateRequest.primitiveContent.node.nodeID := v_targetId;
v_ae1.start(f_CSE_DMR_UPD_016(int14, m_createNodeBase, v_updateRequest));//Node
v_ae1.done;
if(getverdict == pass){ v_responsePrimitive := f_getResponsePrimitive(v_ae1);
//Check attribute 1
if(ispresent(v_responsePrimitive.primitiveContent)) {
if(ischosen(v_responsePrimitive.primitiveContent.node)) {
if(v_responsePrimitive.primitiveContent.node.nodeID != v_targetId){
setverdict(fail, __SCOPE__ & ": Error: NodeID attribute not updated correctly")
}
}
}
v_primitiveContentRetrieveResource := f_getPrimitiveContentRetrievedResource(v_ae1);
//Check that the resource has been udpated correctly
if(ischosen(v_primitiveContentRetrieveResource.node)) {
if(v_primitiveContentRetrieveResource.node.nodeID != v_targetId){
setverdict(fail, __SCOPE__ & ": Error: NodeID attribute not updated correctly")
}
}
}
}
} // end group g_CSE_DMR_UPD_016
}//end group Update
group Delete {
}//end group Delete
}//end group Data_Management_and_Repository
group Subscription_And_Notification {
group Create {
}//end group Create
group Notify{
}//end group Notify
group Update {
}//end group Update
group Delete {
}//end group Delete
}//end group Subscription_And_Notification
group Security {
group ESPrim {
group Notify{
}//end group Notify
}//end group ESPrim
group Roles {
group Create{
}//end group Create
group Retrieve {
}// end of group Retrieve
group Update {
}//end group Update
group Notify {
}//end group Notify
}//end group Roles
group ESCertKE {
group Notify {
}// end of group Notify
}// end of group ESCertKE
group Access_Control_Policy {
}//end group AccessControlPolicy
}//end group Security
group Device_Management {
}//end group dataManagement
group Dynamic_Authorization {
}//end group Dynamic_Authorization
group InitialServiceProvisioning{
}// end group InitialServiceProvisioning
group Semantic {
}// end group Semantic
}//end group CSE
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment