diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 6431beaef847691e7892709a24cd1e079f9a31a4..0e998a049c402f961a37b99e60b9ca3b0582316c 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -3753,6 +3753,31 @@ module OneM2M_Templates { choice := *//O }; + template AEAnnc_optional mw_contentAeAnnc_base := { + resourceName := ?,//M + resourceType := ?,//M + resourceID := ?,//M + parentID := ?,//M + creationTime := ?,//M + lastModifiedTime := ?,//M + labels := *,//O + accessControlPolicyIDs := *,//O + expirationTime := ?,//M + link := ?,//M, + dynamicAuthorizationConsultationIDs := *, //O + appName := *,//O + app_ID := ?,//M + aE_ID := ?,//M + pointOfAccess := *,//O + ontologyRef := *,//O + nodeLink := *,//O + requestReachability := ?,//M + contentSerialization := *,//O + e2eSecInfo:= *, //O + supportedReleaseVersions := ?,//M + choice := *//O + }; + template AEAnnc_optional mw_contentAeAnnc_any := { resourceName := *,//M resourceType := *,//M diff --git a/OneM2M_Testcases_CSE_Release_1.ttcn b/OneM2M_Testcases_CSE_Release_1.ttcn index 7c09bca33c1a426b25c94e481860433de9067bce..405c4a8eae38c54648443e4ec23ed879f0bc27f4 100644 --- a/OneM2M_Testcases_CSE_Release_1.ttcn +++ b/OneM2M_Testcases_CSE_Release_1.ttcn @@ -2122,6 +2122,83 @@ module OneM2M_Testcases_CSE_Release_1 { } }//end g_CSE_REG_CRE_028 + + /** + * @desc Check that the IUT accepts an AE registration (preprovisioned S-AE-ID-STEM provided by AE), communication between MN-CSE and IN-CSE + * + */ + testcase TC_CSE_REG_CRE_029() runs on Tester system CseSystem { + + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; + v_cse1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_CSE1)); + v_cse1.done; + + v_cse1.start(f_CSE_REG_CRE_029()); + + v_cse1.done; + + } + + function f_CSE_REG_CRE_029() runs on CseSimu { + + var MsgIn v_response; + var RequestPrimitive v_request; + var integer v_aeAnncIndex := -1; + var template PrimitiveContent v_primitiveContent; + + //Test control + if(not(PICS_IN_CSE)) { + setverdict(inconc, __SCOPE__ & ": IUT shall be IN-CSE to run this test case"); + stop; + } + + // Test component configuration + f_cf04Up(); + + //Preamble + + vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); + + //Test Body + v_request := valueof(m_createAEAnnc(-, f_getResourceAddress(vc_remoteCseIndex), PX_CSE1_ID & "/" & PX_ALLOWED_S_AE_IDS[0], PX_APP_ID, PX_CSE1_ID & "/" & PX_ALLOWED_S_AE_IDS[0])); + + v_request := f_getCreateRequestPrimitive(int10002, v_request, vc_remoteCseIndex); + v_primitiveContent.aEAnnc := mw_contentAeAnnc_base; + + mccPort.send(f_getMsgOutPrimitive(m_request(v_request))); + + tc_ac.start; + alt { + [] mccPort.receive(mw_response(mw_responsePrimitive(int2001, v_primitiveContent))) -> value v_response { + tc_ac.stop; + f_checkAttributesToBeSaved(int10002, v_request, v_response.primitive.responsePrimitive); + v_aeAnncIndex := f_setResource(v_response.primitive.responsePrimitive.primitiveContent, int10002); + + setverdict(pass, __SCOPE__ & ": AEAnnc successfully created."); + if(v_response.primitive.responsePrimitive.primitiveContent.aEAnnc.link != PX_CSE1_ID & "/" & PX_ALLOWED_S_AE_IDS[0]) { + setverdict(fail, __SCOPE__ & ": Link attribute not correct"); + } + if(v_response.primitive.responsePrimitive.primitiveContent.aEAnnc.labels != {"Credential-ID:None"}) { + setverdict(fail, __SCOPE__ & ": Labels attribute not correct"); + } + } + [] mccPort.receive(mw_response(mw_responsePrimitiveInverse(int2001))) -> value v_response{ + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating AEAnnc with status code " & int2str(enum2int(v_response.primitive.responsePrimitive.responseStatusCode))); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating AEAnnc"); + } + } + + // Postamble + f_cse_postamble_deleteResourcesCSE(); + + // Tear down + f_cf04Down(); + + } + } //end group Create