From bf372f6102dad66d36e469c8f10e1c25c840a46a Mon Sep 17 00:00:00 2001 From: pkulkarni <pkulkarni75@gmail.com> Date: Tue, 13 Jun 2017 10:01:19 +0200 Subject: [PATCH] Implementing New TCs for Discovery: oneM2M/CSE/DIS/BV/001, oneM2M/CSE/DIS/BV/003, oneM2M/CSE/DIS/BO/006, oneM2M/CSE/DIS/BI/007 --- LibOneM2M/OneM2M_Templates.ttcn | 34 ++++++ OneM2M_Testcases.ttcn | 209 ++++++++++++++++++++++++++++++++ 2 files changed, 243 insertions(+) diff --git a/LibOneM2M/OneM2M_Templates.ttcn b/LibOneM2M/OneM2M_Templates.ttcn index bd72b1b..146405c 100644 --- a/LibOneM2M/OneM2M_Templates.ttcn +++ b/LibOneM2M/OneM2M_Templates.ttcn @@ -222,6 +222,40 @@ module OneM2M_Templates { semanticsFilter_list := {} } }; + + /** + * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field + * @param p_targetResourceAddress Target resource address + * @param p_filterCriteria FilterCriteria + * @param p_originator Originator (from) + */ + template (value) RequestPrimitive m_retrieveResourceDiscResTypeFilterUsageOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator, in template (value) DiscResType p_discResType, in template (value) FilterUsage p_filterUsage) modifies m_retrieveResource := { + requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000), + filterCriteria := { + contentType_list := {}, + attribute_list := {}, + filterUsage := p_filterUsage, + semanticsFilter_list := {} + }, + discoveryResultType := p_discResType + }; + + /** + * @desc RETRIEVE request primtive containing the Discovery Type in the discoveryResultType field and Filter Criteria in the filterCriteria field + * @param p_targetResourceAddress Target resource address + * @param p_filterCriteria FilterCriteria + * @param p_originator Originator (from) + */ + template (value) RequestPrimitive m_retrieveResourceInvalidFormatOption(XSD.ID p_targetResourceAddress, in XSD.ID p_originator) modifies m_retrieveResource := { + requestIdentifier := "m_retrieveResourceFilterUsageOption" & f_rnd(1, 1000000), + filterCriteria := { + contentType_list := {}, + attribute_list := {}, + filterUsage := omit, + semanticsFilter_list := {} + } + }; + }//end group Retrieve group Update { diff --git a/OneM2M_Testcases.ttcn b/OneM2M_Testcases.ttcn index c2da397..bb71ecb 100644 --- a/OneM2M_Testcases.ttcn +++ b/OneM2M_Testcases.ttcn @@ -9368,6 +9368,215 @@ module OneM2M_Testcases { } //end group g_CSE_DIS_BV_001 + group g_CSE_DIS_BV_003 + { + testcase TC_CSE_DIS_BV_003() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var RequestPrimitive v_request; + var CseTester v_notifyHandler; + var integer v_ae2Index := -1; + const ResourceType c_containerResourceType := int3; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred; + + v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); + v_request := valueof(m_retrieveResourceFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1)); + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value v_response { + tc_ac.stop; + if(not ischosen(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].URIList)){ + setverdict(pass, testcasename() & ": No Content is present"); + } + else + { + setverdict(fail, testcasename() & ": Content available"); + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + } // end TC_CSE_DIS_BV_003 + } //end group g_CSE_DIS_BV_003 + + group g_CSE_DIS_BV_004 + { + testcase TC_CSE_DIS_BV_004() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var RequestPrimitive v_request; + var CseTester v_notifyHandler; + var integer v_ae2Index := -1; + const ResourceType c_containerResourceType := int3; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred; + + v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); + v_request := valueof(m_retrieveResourceDiscResTypeFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int2, int1)); + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + + [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) -> value v_response { + tc_ac.stop; + if(not ischosen(v_response.primitive.responsePrimitive.primitiveContent.any_1[0].URIList)){ + setverdict(fail, testcasename() & ": URI List Representation containing unstructured addresses not present"); + } + else + { + setverdict(pass, testcasename() & ": URI List Representation containing unstructured addresses available"); + } + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + } // end TC_CSE_DIS_BV_004 + + } //end group g_CSE_DIS_BV_004 + + group g_CSE_DIS_BO_006 + { + testcase TC_CSE_DIS_BO_006() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var RequestPrimitive v_request; + var CseTester v_notifyHandler; + var integer v_ae2Index := -1; + const ResourceType c_containerResourceType := int3; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred; + + v_request := valueof(m_retrieveResourceFilterUsageOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex), int1)); + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4004))) -> value v_response { + tc_ac.stop; + setverdict(pass, testcasename() & ": Resource not found"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + } // end TC_CSE_DIS_BO_006 + + } //end group g_CSE_DIS_BO_006 + + group g_CSE_DIS_BI_007 + { + testcase TC_CSE_DIS_BI_007() runs on CseTester system CseSystem { + // Local variables + var MsgIn v_response; + var integer v_aeIndex := -1; + var integer v_resourceIndex := -1; + var RequestPrimitive v_request; + var CseTester v_notifyHandler; + var integer v_ae2Index := -1; + const ResourceType c_containerResourceType := int3; + + // Test control + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred; + + v_resourceIndex := f_cse_createResource(c_containerResourceType, m_createContainerBase, v_aeIndex); + v_request := valueof(m_retrieveResourceInvalidFormatOption(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex))); + mcaPort.send(m_request(v_request)); + tc_ac.start; + alt { + + [] mcaPort.receive(mw_response(mw_responsePrimitive(int4102))) -> value v_response { + tc_ac.stop; + setverdict(pass, testcasename() & ": Contents Unacceptable"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + tc_ac.stop; + setverdict(fail, testcasename() & ": Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(fail, testcasename() & ": No answer while retrieving resource"); + } + } + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + } // end TC_CSE_DIS_BI_007 + } //end group g_CSE_DIS_BI_007 + } //end group Group Discovery group Subscription_And_Notification { -- GitLab