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

Notify Procedure functions regrouped and renamed consistently

parent fcab23af
No related branches found
No related tags found
1 merge request!25Ae fixes
......@@ -7,7 +7,7 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/LibOneM2M/OneM2M_Functions.ttcn $
* $Id: OneM2M_Functions.ttcn 334 2017-07-31 08:11:48Z reinaortega $
* $Id: OneM2M_Functions.ttcn 338 2017-08-03 08:36:12Z reinaortega $
* @desc Module containing functions for oneM2M
*
*/
......@@ -328,7 +328,7 @@ module OneM2M_Functions {
if(ischosen(p_createRequestPrimitive.primitiveContent.subscription)){ //this condition is necessary for Subscription TCs where notification URI is set in m_createSubscriptionAdvanced
p_createRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(p_ae2Index)};
}
p_notifyHandler.start(f_subscriptionVerificationHandler(p_aeIndex, p_responseStatusCode));
p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(p_aeIndex, p_responseStatusCode));
}
}
......@@ -763,62 +763,6 @@ module OneM2M_Functions {
unmap(self:acPort, system:acPort);
} //end f_cse_resourceAnnouncementHandler
function f_subscriptionVerificationHandler(in integer p_creatorIndex, in ResponseStatusCode p_responseStatusCode := int2001) runs on CseTester {
// Local variables
var MsgIn v_request;
var ResponsePrimitive v_responsePrimitive;
var template Notification v_notificationRequest := mw_contentNotificationVerification;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
//Preparation of expected Notification verification
//TODO To add checks for creator and subscription reference
//v_notificationRequest.creator := p_creator; TODO To check what address format is to be expected
//Some participants use SP relative UNSTRUCTURED
//v_notificationRequest.subscriptionReference := "I Don't know which URI is expected"; // TODO mandatory parameter
//Preparation of Notification response to be sent
v_responsePrimitive := valueof(m_responseNotification(p_responseStatusCode, omit));
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ":INFO: Notification received");
v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier;
// if(f_isHierarchical(v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) {
// setverdict(fail, __SCOPE__ & ": Creator cannot contain a hierarchical address");
// v_responsePrimitive.responseStatusCode := int4000;
// }
// if(f_compareURIs(p_creatorIndex, v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) {
// setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive");
// } else {
// setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive");
// v_responsePrimitive.responseStatusCode := int4000;
// }
mcaPort.send(m_httpResponse(v_responsePrimitive));
}
[] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: Notification received but verificationRequest isn't set to TRUE");
}
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ":ERROR: No notification received");
}
}
//mcaPort.send(m_response(v_responsePrimitive)); // TODO have to be deleted
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_subscriptionVerificationHandler
function f_checkAttributesToBeSaved (ResourceType p_resourceType, RequestPrimitive p_request, inout ResponsePrimitive p_response) {
select (p_resourceType) {
......@@ -892,54 +836,6 @@ module OneM2M_Functions {
// TODO test that if the resource name is returned is the same resource name as used in the create message
}
function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on CseTester return boolean{
// Local variables
var boolean v_matchResult := false;
var integer i;
var integer v_numberOfAggregatedNotification;
if (ischosen(p_primitiveContent.aE)){
if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE, p_primitiveContent.aE)
}
else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE)
}
else if (ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification)) {
v_matchResult := true;
v_numberOfAggregatedNotification := lengthof(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list);
for(i := 0; i< v_numberOfAggregatedNotification; i := i + 1){
if(ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource)) {
if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource.aE, p_primitiveContent.aE))){
v_matchResult := false;
}
}
else if(ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive)) {
if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE))){
v_matchResult := false;
}
}
}
if (i == 0){
v_matchResult := false;
}
}
}
if (ischosen(p_primitiveContent.container)){
if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.container, p_primitiveContent.container)
}
else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.container, p_primitiveContent.container)
}
}
return v_matchResult;
} //end f_check_notificationContent
function f_compareURIs(in integer p_expectedURIIndex, in XSD.ID p_receivedURI) runs on CseTester return boolean{
// Local variables
......@@ -973,43 +869,138 @@ module OneM2M_Functions {
} //end f_compareURIs
function f_cse_notifyProcedure(template PrimitiveContent p_primitiveContent) runs on CseTester {
// Local variables
var MsgIn v_request;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
group NotificationFunctions {
function f_cse_notifyProcedure_subscriptionVerificationHandler(in integer p_creatorIndex, in ResponseStatusCode p_responseStatusCode := int2001) runs on CseTester {
// Local variables
var MsgIn v_request;
var ResponsePrimitive v_responsePrimitive;
var template Notification v_notificationRequest := mw_contentNotificationVerification;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
//Preparation of expected Notification verification
//TODO To add checks for creator and subscription reference
//v_notificationRequest.creator := p_creator; TODO To check what address format is to be expected
//Some participants use SP relative UNSTRUCTURED
//v_notificationRequest.subscriptionReference := "I Don't know which URI is expected"; // TODO mandatory parameter
//Preparation of Notification response to be sent
v_responsePrimitive := valueof(m_responseNotification(p_responseStatusCode, omit));
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
tc_ac.stop;
if(f_check_notificationContent(v_request.primitive.requestPrimitive, p_primitiveContent)){
setverdict(pass, __SCOPE__ & ":INFO: Notification received");
mcaPort.send(m_response(valueof(m_responseNotification(int2001))));
}
else{
setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
}
}
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ":ERROR: No notification received");
}
}
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_notify(v_notificationRequest))) -> value v_request {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ":INFO: Notification received");
v_responsePrimitive.requestIdentifier := v_request.primitive.requestPrimitive.requestIdentifier;
// if(f_isHierarchical(v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) {
// setverdict(fail, __SCOPE__ & ": Creator cannot contain a hierarchical address");
// v_responsePrimitive.responseStatusCode := int4000;
// }
// if(f_compareURIs(p_creatorIndex, v_request.primitive.requestPrimitive.primitiveContent.notification.creator)) {
// setverdict(pass, __SCOPE__ & ": Creator set to originator of the subscription creation primitive");
// } else {
// setverdict(fail, __SCOPE__ & ": Creator not set to originator of the subscription creation primitive");
// v_responsePrimitive.responseStatusCode := int4000;
// }
mcaPort.send(m_httpResponse(v_responsePrimitive));
}
[] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: Notification received but verificationRequest isn't set to TRUE");
}
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ":ERROR: No notification received");
}
}
//mcaPort.send(m_response(v_responsePrimitive)); // TODO have to be deleted
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_subscriptionVerificationHandler
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
function f_cse_notifyProcedure_representationHandler(template PrimitiveContent p_primitiveContent) runs on CseTester {
// Local variables
var MsgIn v_request;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_request {
tc_ac.stop;
if(f_check_notificationContent(v_request.primitive.requestPrimitive, p_primitiveContent)){
setverdict(pass, __SCOPE__ & ":INFO: Notification received");
mcaPort.send(m_response(valueof(m_responseNotification(int2001))));
}
else{
setverdict(fail, __SCOPE__ & ":ERROR: Notification received but the content doesn't match");
}
}
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ":ERROR: unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ":ERROR: No notification received");
}
}
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_cse_notifyProcedure_representationHandler
function f_cse_notifyProcedure_aggregatedNoficationHandler(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on CseTester {
// Local variables
var MsgIn v_response;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_aggregatedNotifyBase)) -> value v_response {
tc_ac.stop;
if(p_numberOfAggregatedNotification == lengthof(v_response.primitive.requestPrimitive.primitiveContent.aggregatedNotification.notification_list)){
if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){
setverdict(pass, __SCOPE__ & ": Notification received");
}
else{
setverdict(fail, __SCOPE__ & ": Notification received but the content doesn't match");
}
}
else {
setverdict(fail, __SCOPE__ & ": Number of Notification in Aggregatednotification isn't right");
}
}
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error, unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No notification received");
}
}
} //end f_cse_notifyProcedure
function f_cse_notifyProcedure_subscriptionDeletion( template PrimitiveContent p_primitiveContent) runs on CseTester {
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_cse_notifyProcedure_aggregatedNotificationHandler
function f_cse_notifyProcedure_subscriptionDeletionHandler( template PrimitiveContent p_primitiveContent) runs on CseTester {
var MsgIn v_response;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
......@@ -1039,9 +1030,82 @@ module OneM2M_Functions {
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_cse_notifyProcedure_subscriptionDeletion
} //end f_cse_notifyProcedure_subscriptionDeletionHandler
function f_cse_notifyProcedure_noNotificationHandler() runs on CseTester {
// Local variables
var MsgIn v_response;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
tc_ac.start(10.0);
alt {
[] mcaPort.receive(mw_request(mw_notify(mw_contentNotification(?)))) -> value v_response {
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error, Non expected notification received");
}
[] tc_ac.timeout {
setverdict(pass, __SCOPE__ & ": No notification received");
}
}
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_cse_notifyProcedure_noNotification Handler
function f_check_notificationContent(in RequestPrimitive p_requestPrimitive, template PrimitiveContent p_primitiveContent) runs on CseTester return boolean{
// Local variables
var boolean v_matchResult := false;
var integer i;
var integer v_numberOfAggregatedNotification;
if (ischosen(p_primitiveContent.aE)){
if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.aE, p_primitiveContent.aE)
}
else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
v_matchResult :=match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE)
}
else if (ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification)) {
v_matchResult := true;
v_numberOfAggregatedNotification := lengthof(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list);
for(i := 0; i< v_numberOfAggregatedNotification; i := i + 1){
if(ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource)) {
if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.resource.aE, p_primitiveContent.aE))){
v_matchResult := false;
}
}
else if(ischosen(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive)) {
if(not (match(p_requestPrimitive.primitiveContent.aggregatedNotification.notification_list[i].notificationEvent.representation.responsePrimitive.primitiveContent.aE, p_primitiveContent.aE))){
v_matchResult := false;
}
}
}
if (i == 0){
v_matchResult := false;
}
}
}
if (ischosen(p_primitiveContent.container)){
if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource)) {
v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.resource.container, p_primitiveContent.container)
}
else if(ischosen(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive)) {
v_matchResult := match(p_requestPrimitive.primitiveContent.notification.notificationEvent.representation.responsePrimitive.primitiveContent.container, p_primitiveContent.container)
}
}
return v_matchResult;
} //end f_check_notificationContent
}// end of group NotificationFunctions
/**
* @desc It determines whether the addressing method of the given address is non-hierarchical. Not valid for CSE-Base as target
* @param p_resourceAddress
......@@ -1080,6 +1144,7 @@ module OneM2M_Functions {
return false;
}
}
/**
* @desc It determines whether the addressing method of the given address is hierarchical. Not valid for CSE-Base as target
......
......@@ -7,7 +7,7 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_TestControl.ttcn $
* $Id: OneM2M_TestControl.ttcn 335 2017-07-31 09:04:53Z reinaortega $
* $Id: OneM2M_TestControl.ttcn 338 2017-08-03 08:36:12Z reinaortega $
* @desc Test control module for oneM2M
*
*/
......@@ -36,13 +36,13 @@ module OneM2M_TestControl {
execute(TC_CSE_REG_CRE_008());
execute(TC_CSE_REG_CRE_009());
execute(TC_CSE_REG_CRE_010());
execute(TC_CSE_REG_CRE_015_LBL());
execute(TC_CSE_REG_CRE_015_CST());
execute(TC_CSE_REG_CRE_015_POA());
execute(TC_CSE_REG_CRE_015_NL());
execute(TC_CSE_REG_CRE_016_LBL());
execute(TC_CSE_REG_CRE_016_CST());
execute(TC_CSE_REG_CRE_016_POA());
execute(TC_CSE_REG_CRE_016_NL());
execute(TC_CSE_REG_CRE_018());
execute(TC_CSE_REG_CRE_021());
execute(TC_CSE_REG_CRE_022());
execute(TC_CSE_REG_CRE_023());
execute(TC_CSE_REG_CRE_024());
execute(TC_CSE_REG_CRE_026());
execute(TC_CSE_REG_RET_001());
......@@ -50,33 +50,7 @@ module OneM2M_TestControl {
execute(TC_CSE_REG_RET_008());
execute(TC_CSE_REG_UPD_001());
execute(TC_CSE_REG_DEL_001());
execute(TC_CSE_DMR_BV_001_01());
execute(TC_CSE_DMR_BV_001_02());
execute(TC_CSE_DMR_BV_001_03());
execute(TC_CSE_DMR_BV_002_01());
execute(TC_CSE_DMR_BV_002_02());
execute(TC_CSE_DMR_BV_002_03());
execute(TC_CSE_DMR_BV_002_04());
execute(TC_CSE_DMR_BV_002_05());
execute(TC_CSE_DMR_BV_002_06());
execute(TC_CSE_DMR_BV_003_01());
execute(TC_CSE_DMR_BV_003_02());
execute(TC_CSE_DMR_BV_003_03());
execute(TC_CSE_DMR_BV_003_04());
execute(TC_CSE_DMR_BV_003_05());
execute(TC_CSE_DMR_BV_003_06());
execute(TC_CSE_DMR_BV_004_01());
execute(TC_CSE_DMR_BV_004_02());
execute(TC_CSE_DMR_BV_004_03());
execute(TC_CSE_DMR_BV_004_04());
execute(TC_CSE_DMR_BV_004_05());
execute(TC_CSE_DMR_BV_004_06());
execute(TC_CSE_DMR_BV_005_01());
execute(TC_CSE_DMR_BV_005_02());
execute(TC_CSE_DMR_BV_005_03());
execute(TC_CSE_DMR_BV_005_04());
execute(TC_CSE_DMR_BV_005_05());
execute(TC_CSE_DMR_BV_005_06());
execute(TC_CSE_DMR_CRE_001_CNT_CB());
execute(TC_CSE_DMR_CRE_001_CNT_AE());
execute(TC_CSE_DMR_CRE_001_CNT_CNT());
......@@ -164,6 +138,33 @@ module OneM2M_TestControl {
execute(TC_CSE_DMR_RET_008_SCH_AT());
execute(TC_CSE_DMR_RET_008_PCH_AT());
execute(TC_CSE_DMR_RET_008_SUB_AT());
execute(TC_CSE_DMR_RET_020_RCN_0());
execute(TC_CSE_DMR_RET_020_RCN_2());
execute(TC_CSE_DMR_RET_020_RCN_3());
execute(TC_CSE_DMR_RET_021_CNT());
execute(TC_CSE_DMR_RET_021_GRP());
execute(TC_CSE_DMR_RET_021_ACP());
execute(TC_CSE_DMR_RET_021_SCH());
execute(TC_CSE_DMR_RET_021_PCH());
execute(TC_CSE_DMR_RET_021_SUB());
execute(TC_CSE_DMR_RET_022_CNT());
execute(TC_CSE_DMR_RET_022_GRP());
execute(TC_CSE_DMR_RET_022_ACP());
execute(TC_CSE_DMR_RET_022_SCH());
execute(TC_CSE_DMR_RET_022_PCH());
execute(TC_CSE_DMR_RET_022_SUB());
execute(TC_CSE_DMR_RET_023_CNT());
execute(TC_CSE_DMR_RET_023_GRP());
execute(TC_CSE_DMR_RET_023_ACP());
execute(TC_CSE_DMR_RET_023_SCH());
execute(TC_CSE_DMR_RET_023_PCH());
execute(TC_CSE_DMR_RET_023_SUB());
execute(TC_CSE_DMR_RET_024_CNT());
execute(TC_CSE_DMR_RET_024_GRP());
execute(TC_CSE_DMR_RET_024_ACP());
execute(TC_CSE_DMR_RET_024_SCH());
execute(TC_CSE_DMR_RET_024_PCH());
execute(TC_CSE_DMR_RET_024_SUB());
execute(TC_CSE_DMR_UPD_001_CNT_LBL());
execute(TC_CSE_DMR_UPD_001_GRP_LBL());
execute(TC_CSE_DMR_UPD_001_ACP_LBL());
......@@ -299,27 +300,27 @@ module OneM2M_TestControl {
execute(TC_CSE_DIS_006());
execute(TC_CSE_DIS_007());
execute(TC_CSE_SUB_CRE_001_SUB());
execute(TC_CSE_SUB_CRE_001_SUB());
execute(TC_CSE_SUB_CRE_001_CIN());
execute(TC_CSE_SUB_CRE_002());
execute(TC_CSE_SUB_CRE_003());
execute(TC_CSE_SUB_CRE_004());
execute(TC_CSE_SUB_CRE_005());
execute(TC_CSE_SUB_NTF_001());
execute(TC_CSE_SUB_NTF_002());
execute(TC_CSE_SUB_NTF_003());
execute(TC_CSE_SUB_UPD_001());
execute(TC_CSE_SUB_CRE_007());
execute(TC_CSE_SUB_DEL_008());
execute(TC_CSE_SUB_DEL_009());
execute(TC_CSE_SUB_CRE_010());
execute(TC_CSE_SUB_UPD_011());
execute(TC_CSE_SUB_UPD_012());
execute(TC_CSE_SUB_UPD_013());
execute(TC_CSE_SUB_UPD_014());
execute(TC_CSE_SUB_UPD_015());
execute(TC_CSE_SUB_UPD_016());
execute(TC_CSE_SUB_UPD_002());
execute(TC_CSE_SUB_UPD_003());
execute(TC_CSE_SUB_UPD_004());
execute(TC_CSE_SUB_UPD_005());
execute(TC_CSE_SUB_UPD_006());
execute(TC_CSE_SUB_UPD_007());
execute(TC_CSE_SUB_UPD_008());
execute(TC_CSE_SUB_UPD_009());
execute(TC_CSE_SUB_DEL_001());
execute(TC_CSE_SUB_UPD_018());
execute(TC_CSE_SUB_NTF_003());
execute(TC_CSE_SUB_UPD_020());
execute(TC_CSE_SUB_DEL_002());
execute(TC_CSE_SUB_DEL_003());
execute(TC_CSE_SEC_ACP_001_CRE());
execute(TC_CSE_SEC_ACP_001_UPD());
execute(TC_CSE_SEC_ACP_001_RET());
......
......@@ -7,7 +7,7 @@
*
* @author oneM2M
* @version $URL: https://oldforge.etsi.org/svn/oneM2M/trunk/ttcn/OneM2M_Testcases.ttcn $
* $Id: OneM2M_Testcases.ttcn 337 2017-08-01 08:07:17Z reinaortega $
* $Id: OneM2M_Testcases.ttcn 338 2017-08-03 08:36:12Z reinaortega $
* @desc Module containing test cases for oneM2M
*
*/
......@@ -2226,7 +2226,7 @@ module OneM2M_Testcases {
if(match(int23, p_parentRequestPrimitive.resourceType)){
v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
p_parentRequestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)};
p_notifyHandler.start(f_subscriptionVerificationHandler(v_parentIndex));
p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex));
}
v_parentIndex := f_cse_createResource(valueof(p_parentRequestPrimitive.resourceType), p_parentRequestPrimitive, v_parentIndex);
}
......@@ -2236,7 +2236,7 @@ module OneM2M_Testcases {
if(match(int23, p_requestPrimitive.resourceType)){
v_ae2Index := f_cse_createResource(int2, m_createAe(PX_APP_ID, -, PX_AE2_ID_STEM, "MyAe2", v_poaList), -1); // AE2 is registred
p_requestPrimitive.primitiveContent.subscription.notificationURI := {f_getResourceAddress(v_ae2Index)};
p_notifyHandler.start(f_subscriptionVerificationHandler(v_parentIndex));
p_notifyHandler.start(f_cse_notifyProcedure_subscriptionVerificationHandler(v_parentIndex));
}
v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
......@@ -16304,7 +16304,7 @@ module OneM2M_Testcases {
// Test Body
v_request:= f_getCreateRequestPrimitive(int3, m_createContainerBase, v_aeIndex);
v_notifyHandler.start(f_cse_notifyProcedure(v_contentNotification)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
mcaPort.send(m_request(v_request));
tc_ac.start;
......@@ -16513,7 +16513,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_CSE_SUB_UPD_007(v_contentResponse, 2)); // check that no notification is received
v_notifyHandler.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, 2)); // check that no notification is received
v_updateRequest.primitiveContent.aE.labels := v_labels_1;
v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
......@@ -16575,7 +16575,7 @@ module OneM2M_Testcases {
// Test Body
v_contentResponse.aE := mw_contentAeBase; // all attributes expected
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request
v_updateRequest.primitiveContent.aE.labels := v_labels_1;
......@@ -16651,7 +16651,7 @@ module OneM2M_Testcases {
//TODO Use f_getTemplateFromPrimitiveContent() which needs to be modified to receive the template in which the output template will be built upon
v_contentResponse.aE.labels := ?;// only modified attribute expected
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
v_updateRequest.primitiveContent.aE.labels := v_labels_1;
......@@ -16729,7 +16729,7 @@ module OneM2M_Testcases {
f_is_component_done(v_notifyHandler);
// Test Body
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
mcaPort.send(m_request(v_request));
tc_ac.start;
......@@ -16802,7 +16802,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // AE update request
f_cse_updateResource(v_request); // AE update
......@@ -16887,7 +16887,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // AE update request
f_cse_updateResource(v_request); // AE update
......@@ -16967,7 +16967,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_CSE_SUB_UPD_006()); // check that no notification is received
v_notifyHandler.start(f_cse_notifyProcedure_noNotificationHandler()); // check that no notification is received
mcaPort.send(m_request(v_request));
tc_ac.start;
......@@ -16999,29 +16999,6 @@ module OneM2M_Testcases {
} // end TC_CSE_SUB_UPD_006
function f_CSE_SUB_UPD_006() runs on CseTester {
// Local variables
var MsgIn v_response;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
tc_ac.start(10.0);
alt {
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error, Notification isn't expected ");
}
[] tc_ac.timeout {
setverdict(pass, __SCOPE__ & ": No notification received");
}
}
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_CSE_SUB_UPD_006
/**
* @desc Check that the IUT sends aggregated notification to the subscriber resource when the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached
*
......@@ -17065,7 +17042,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_CSE_SUB_UPD_007(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received
v_notifyHandler.start(f_cse_notifyProcedure_aggregatedNoficationHandler(v_contentResponse, numberOfAggregatedNotification)); // check that no notification is received
v_updateRequest.primitiveContent.aE.labels := v_labels_1;
v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
......@@ -17088,43 +17065,6 @@ module OneM2M_Testcases {
f_cf01Down();
} // end TC_CSE_SUB_UPD_007
function f_CSE_SUB_UPD_007(template PrimitiveContent p_primitiveContent,in integer p_numberOfAggregatedNotification) runs on CseTester {
// Local variables
var MsgIn v_response;
map(self:mcaPort, system:mcaPort);
map(self:acPort, system:acPort);
tc_ac.start;
alt {
[] mcaPort.receive(mw_request(mw_aggregatedNotifyBase)) -> value v_response {
tc_ac.stop;
if(p_numberOfAggregatedNotification == lengthof(v_response.primitive.requestPrimitive.primitiveContent.aggregatedNotification.notification_list)){
if(f_check_notificationContent(v_response.primitive.requestPrimitive, p_primitiveContent)){
setverdict(pass, __SCOPE__ & ": Notification received");
}
else{
setverdict(fail, __SCOPE__ & ": Notification received but the content doesn't match");
}
}
else {
setverdict(fail, __SCOPE__ & ": Number of Notification in Aggregatednotification isn't right");
}
}
[] mcaPort.receive{
tc_ac.stop;
setverdict(fail, __SCOPE__ & ": Error, unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__ & ": No notification received");
}
}
unmap(self:mcaPort, system:mcaPort);
unmap(self:acPort, system:acPort);
} //end f_CSE_SUB_UPD_007
/**
* @desc Check that the IUT sends the latest notification to the subscriber resource when latestNotify is set to TRUE, the number value of the batchNotify attribute is set to GROUP_LIMIT and when this number have been reached
......@@ -17173,7 +17113,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
v_updateRequest.primitiveContent.aE.labels := v_labels_1;
v_request:= f_getUpdateRequestPrimitive(int2, v_aeIndex, v_updateRequest); // Update request 1
......@@ -17241,7 +17181,7 @@ module OneM2M_Testcases {
};
// Test Body
v_notifyHandler.start(f_cse_notifyProcedure(v_contentResponse)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentResponse)); // check if the notification is well received and if its content matchs
mcaPort.send(m_request(v_request));
tc_ac.start;
......@@ -17416,7 +17356,7 @@ module OneM2M_Testcases {
};
//Test Body
v_notifyHandler.start(f_cse_notifyProcedure_subscriptionDeletion(v_contentNotification)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_subscriptionDeletionHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
v_deleteRequest:= valueof(m_deleteRequest(f_getResourceAddress(v_aeIndex))); // Ae delete request
......@@ -17489,7 +17429,7 @@ module OneM2M_Testcases {
};
//Test Body
v_notifyHandler.start(f_cse_notifyProcedure(v_contentNotification)); // check if the notification is well received and if its content matchs
v_notifyHandler.start(f_cse_notifyProcedure_representationHandler(v_contentNotification)); // check if the notification is well received and if its content matchs
v_deleteRequest := valueof(m_deleteRequest(f_getResourceAddress(v_containerResourceIndex)));// Container deletion request
......
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