From b32b9318043ec149fc05831df5f6ab9611ca590e Mon Sep 17 00:00:00 2001 From: axr <axr@SQC-X1Xtrm-axr.fokus.fraunhofer.de> Date: Tue, 8 Oct 2019 17:48:45 +0200 Subject: [PATCH] initial ISP test case derived from TC_CSE_GEN_CRE_001_CSR --- LibOneM2M/OneM2M_Templates.ttcn | 11 +++- LibOneM2M/OneM2M_TypesAndValues.ttcn | 1 + OneM2M_Testcases_CSE_Release_3.ttcn | 76 ++++++++++++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index 5ded4dc..23db167 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -1362,7 +1362,16 @@ module OneM2M_Templates { resourceType := int19, primitiveContent := {serviceSubscribedAppRule := m_contentCreateServiceSubscribedAppRuleBase} }; - + + /** + * @desc Base CREATE request primitive for ServiceSubscribedNode Resource + */ + template (value) RequestPrimitive m_createServiceSubscribedNode modifies m_create := { + requestIdentifier := testcasename() & "-m_createServiceSubscribedNode", + resourceType := int20, + primitiveContent := {serviceSubscribedNode := m_contentServiceSubscribedNode} + }; + /** * @desc Base CREATE request primitive for Subscription resource */ diff --git a/LibOneM2M/OneM2M_TypesAndValues.ttcn b/LibOneM2M/OneM2M_TypesAndValues.ttcn index 9aaf488..ba3f641 100644 --- a/LibOneM2M/OneM2M_TypesAndValues.ttcn +++ b/LibOneM2M/OneM2M_TypesAndValues.ttcn @@ -4020,6 +4020,7 @@ group OtherTypes { StatsCollect_optional statsCollect, M2mServiceSubscriptionProfile_optional m2mServiceSubscriptionProfile, ServiceSubscribedAppRule_optional serviceSubscribedAppRule, + ServiceSubscribedNode_optional serviceSubscribedNode, Subscription_optional subscription, SemanticDescriptor_optional semanticDescriptor, TimeSeries_optional timeSeries, diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn index 5aba1ab..ff74f1f 100644 --- a/OneM2M_Testcases_CSE_Release_3.ttcn +++ b/OneM2M_Testcases_CSE_Release_3.ttcn @@ -12776,6 +12776,82 @@ module OneM2M_Testcases_CSE_Release_3 { group InitialServiceProvisioning{ + /** + * @desc Check that the IUT accepts the creation of a serviceSubscribedNode resource + * + */ + testcase TC_CSE_ISP_001() runs on Tester system CseSystem { + // Local variables + + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_ISP_001(e_cseRelative)); + v_ae1.done; + } + +// function f_CSE_GEN_CRE_001(in PrimitiveScope p_primitiveScope) runs on AeSimu system CseSystem { + function f_CSE_ISP_001(in PrimitiveScope p_primitiveScope) runs on AeSimu system CseSystem { + + // Local variables + var RequestPrimitive v_request; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var AddressingMethod v_addressingMethod; + var PrimitiveScope v_primitiveScope; + + // Test control + if(not(PICS_UNSTRUCTURED_CSE_RELATIVE_RESOURCE_ID_FORMAT)) { + setverdict(inconc, __SCOPE__ & ": Unstructured-CSE-Relative-Resource-ID format support is required to run this test case"); + stop; + } + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//c_CRUDNDi); + +// v_resourceIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex); + v_resourceIndex := f_cse_createResource(int20, m_createServiceSubscribedNode, v_aeIndex); + + // Test Body + //Force usage of Non-Hierarchical addressing method + v_addressingMethod := e_nonHierarchical; + v_primitiveScope := p_primitiveScope; +// v_request := f_getCreateRequestPrimitive(int3, m_createContainerBase, v_resourceIndex); + v_request := f_getCreateRequestPrimitive(int20, m_createServiceSubscribedNode, v_resourceIndex); + v_request.to_ := f_getResourceAddress(v_resourceIndex, v_addressingMethod, v_primitiveScope); + + f_send(e_mcaPort, m_request(v_request)); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2001))) { + tc_ac.stop; + setverdict(pass, __SCOPE__ & ": ServiceSubscribedNode resource created using non-hierarchical addressing method"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, __SCOPE__ & ": Error while creating ServiceSubscribedNode resource using non-hierarchical addressing method"); + } + [] tc_ac.timeout { + setverdict(fail, __SCOPE__ & ": No answer while creating resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_ISP_001 }// end group InitialServiceProvisioning -- GitLab