diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn index 3c772d00ad0c7513270291ffa6e01c40c202cc40..6c6ff3817d21704eba8482d18d1aeb083d1a0282 100644 --- a/OneM2M_PermutationFunctions.ttcn +++ b/OneM2M_PermutationFunctions.ttcn @@ -8382,7 +8382,353 @@ module OneM2M_PermutationFunctions { //Tear down f_cf01Down(); }// end f_CSE_SUB_CRE_001 + + function f_CSE_SUB_CRE_009(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var RequestPrimitive v_request; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({int6, p_notificationEventType}); + v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription + + // Test Body + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value vc_response { //SUBSCRIPTION_VERIFICATION_INITIATION_FAILED + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Subscription rejected due to incompatible NotificationEventType elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Subscription successful with incompatible NotificationEventType elements"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is NOT present + if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + //Postamble + f_cse_postamble_deleteResources(); + + //Tear down + f_cf01Down(); + + } // end f_CSE_SUB_CRE_009 + function f_CSE_SUB_CRE_010(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var RequestPrimitive v_request; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({int7, p_notificationEventType}); + v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription + + // Test Body + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value vc_response { //SUBSCRIPTION_VERIFICATION_INITIATION_FAILED + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Subscription rejected due to incompatible NotificationEventType elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Subscription successful with incompatible NotificationEventType elements"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is NOT present + if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + //Postamble + f_cse_postamble_deleteResources(); + + //Tear down + f_cf01Down(); + + } // end f_CSE_SUB_CRE_010 + + function f_CSE_SUB_CRE_011(in NotificationContentType p_notificationContentType) runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var RequestPrimitive v_request; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({int6}); + v_createRequest.primitiveContent.subscription.notificationContentType := p_notificationContentType; + v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription + + // Test Body + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Subscription rejected due to incompatible NotificationEventType and NotificationContentType elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Subscription successful with incompatible NotificationEventType and NotificationContentType elements"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is NOT present + if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + //Postamble + f_cse_postamble_deleteResources(); + + //Tear down + f_cf01Down(); + + } // end f_CSE_SUB_CRE_011 + + function f_CSE_SUB_CRE_012(in NotificationContentType p_notificationContentType) runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var RequestPrimitive v_request; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({int7}); + v_createRequest.primitiveContent.subscription.notificationContentType := p_notificationContentType; + v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription + + // Test Body + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Subscription rejected due to incompatible NotificationEventType and NotificationContentType elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Subscription successful with incompatible NotificationEventType and NotificationContentType elements"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is NOT present + if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + //Postamble + f_cse_postamble_deleteResources(); + + //Tear down + f_cf01Down(); + + } // end f_CSE_SUB_CRE_012 + + function f_CSE_SUB_CRE_013(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var RequestPrimitive v_request; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({p_notificationEventType}); + v_createRequest.primitiveContent.subscription.notificationContentType := int4; + v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription + + // Test Body + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Subscription rejected due to incompatible NotificationEventType and NotificationContentType elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Subscription successful with incompatible NotificationEventType and NotificationContentType elements"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is NOT present + if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + //Postamble + f_cse_postamble_deleteResources(); + + //Tear down + f_cf01Down(); + + } // end f_CSE_SUB_CRE_013 + + function f_CSE_SUB_CRE_014(in NotificationEventType p_notificationEventType) runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var template RequestPrimitive v_createRequest := m_createSubscriptionBase; + var RequestPrimitive v_request; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + + v_createRequest.primitiveContent.subscription.eventNotificationCriteria := m_eventNotificationCriteria({p_notificationEventType}); + v_createRequest.primitiveContent.subscription.notificationContentType := int2; + v_request := f_getCreateRequestPrimitive(int23, v_createRequest, v_aeIndex);//Subscription + + // Test Body + f_send(e_mcaPort, m_request(v_request)); + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4000))) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": Subscription rejected due to incompatible NotificationEventType and NotificationContentType elements"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Subscription successful with incompatible NotificationEventType and NotificationContentType elements"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + f_checkAeSimuStatus(); + + //Check to see if the resource is NOT present + if(f_cse_isResourceNotPresent(v_aeIndex, f_getResourceName(v_request.primitiveContent))){ + setverdict(pass, __SCOPE__ & ":INFO: Resource not created"); + } else { + setverdict(fail, __SCOPE__ & ":ERROR: Resource created"); + } + + //Postamble + f_cse_postamble_deleteResources(); + + //Tear down + f_cf01Down(); + + } // end f_CSE_SUB_CRE_014 + }//end group Create group Notify{ diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn index 6da1745357dd9fe457d222c65683ba235ad34fff..6b5ca776849b56b187688b5dd9740f38d7b49357 100644 --- a/OneM2M_Testcases_CSE_Release_3.ttcn +++ b/OneM2M_Testcases_CSE_Release_3.ttcn @@ -7604,8 +7604,293 @@ module OneM2M_Testcases_CSE_Release_3 { v_ae1.done; } - }// end group g_CSE_DMR_CRE_014 + }// end group g_CSE_SUB_CRE_001 + + group g_CSE_SUB_CRE_009 { + /** + * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to 6(Trigger_Received_For_AE_Resource) in combination of NOTIFICATION_EVENT_TYPE. + * + */ + testcase TC_CSE_SUB_CRE_009_NET_1() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_009(int1)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_009_NET_2() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_009(int2)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_009_NET_3() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_009(int3)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_009_NET_4() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_009(int4)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_009_NET_5() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_009(int5)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_009_NET_7() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_009(int7)); + v_ae1.done; + + } + + }// end group g_CSE_SUB_CRE_009 + + group g_CSE_SUB_CRE_010 { + + /** + * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to 7(Blocking Update) in combination of NOTIFICATION_EVENT_TYPE. + * + */ + testcase TC_CSE_SUB_CRE_010_NET_1() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_010(int1)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_010_NET_2() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_010(int2)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_010_NET_3() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_010(int3)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_010_NET_4() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_010(int4)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_010_NET_5() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_010(int5)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_010_NET_6() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_010(int6)); + v_ae1.done; + + } + + }// end group g_CSE_SUB_CRE_010 + + group g_CSE_SUB_CRE_011 { + + /** + * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to 6(Trigger_Received_For_AE_Resource) and notificationContentType is set to NOTIFICATION_CONTENT_TYPE. + * + */ + testcase TC_CSE_SUB_CRE_011_NCT_1() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_011(int1)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_011_NCT_2() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_011(int2)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_011_NCT_3() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_011(int3)); + v_ae1.done; + + } + + }// end group g_CSE_SUB_CRE_011 + + group g_CSE_SUB_CRE_012 { + + /** + * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to 7 (Blocking Update) and notificationContentType attribute set to NOTIFICATION_CONTENT_TYPE. + * + */ + testcase TC_CSE_SUB_CRE_012_NCT_2() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_012(int2)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_012_NCT_3() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_012(int3)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_012_NCT_4() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_012(int4)); + v_ae1.done; + + } + + }// end group g_CSE_SUB_CRE_012 + + group g_CSE_SUB_CRE_013 { + /** + * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to NOTIFICATION_EVENT_TYPE and notificationContentType set to 4(Trigger Payload). + * + */ + testcase TC_CSE_SUB_CRE_013_NET_1() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_013(int1)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_013_NET_2() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_013(int2)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_013_NET_3() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_013(int3)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_013_NET_4() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_013(int4)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_013_NET_5() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_013(int5)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_013_NET_7() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_013(int7)); + v_ae1.done; + + } + + }// end group g_CSE_SUB_CRE_013 + + group g_CSE_SUB_CRE_014 { + + /** + * @desc Check that the IUT rejects a CREATE request when the notificationEventType is set to NOTIFICATION_EVENT_TYPE and notificationContentType set to 2(modified attributes). + * + */ + testcase TC_CSE_SUB_CRE_014_NET_2() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_014(int2)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_014_NET_3() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_014(int3)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_014_NET_4() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_014(int4)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_014_NET_5() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_014(int5)); + v_ae1.done; + + } + testcase TC_CSE_SUB_CRE_014_NET_6() runs on Tester system CseSystem { + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SUB_CRE_014(int6)); + v_ae1.done; + + } + + }// end group g_CSE_SUB_CRE_014 + }//end group Create group Notify{