diff --git a/OneM2M_Testcases_CSE_Release_3.ttcn b/OneM2M_Testcases_CSE_Release_3.ttcn index 5f6a24866023defc02764ca0c42231b6e3bb323d..f1e5a1110679f2fe7eb5b75f1df5c8bfdee2bb48 100644 --- a/OneM2M_Testcases_CSE_Release_3.ttcn +++ b/OneM2M_Testcases_CSE_Release_3.ttcn @@ -7551,13 +7551,13 @@ module OneM2M_Testcases_CSE_Release_3 { */ testcase TC_CSE_SEC_ROL_RET_001() runs on Tester system CseSystem { //Local variables - var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; - v_ae1.start(f_CSE_SEC_ROL_RET_001()); - v_ae1.done; + v_cse1.start(f_CSE_SEC_ROL_RET_001()); + v_cse1.done; } - function f_CSE_SEC_ROL_RET_001() runs on AeSimu system CseSystem { + function f_CSE_SEC_ROL_RET_001() runs on CseSimu system CseSystem { // Local variables var MsgIn v_response; var integer v_aeIndex := -1; @@ -7570,29 +7570,29 @@ module OneM2M_Testcases_CSE_Release_3 { } // Test component configuration - f_cf01Up(); + f_cf04Up(); // Test adapter configuration // Preamble - v_aeIndex := f_cse_preamble_registerAe(); + vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); v_targetResourceAddress := fx_assign_originatorRole(); // Test Body var RequestPrimitive v_retrieveRequest := valueof(m_retrieve(v_targetResourceAddress,f_getOriginator())); - f_send(e_mca_port, m_request(v_retrieveRequest)); + f_send(e_mcc_port, m_request(v_retrieveRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + [] mccPort.receive(mw_response(mw_responsePrimitive(int2000))) { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Role resource retrieved"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving role resource"); } @@ -7602,10 +7602,10 @@ module OneM2M_Testcases_CSE_Release_3 { } // Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResourcesCSE(); // Tear down - f_cf01Down(); + f_cf04Down(); }//end f_CSE_SEC_ROL_RET_001 @@ -7616,13 +7616,13 @@ module OneM2M_Testcases_CSE_Release_3 { */ testcase TC_CSE_SEC_ROL_RET_002() runs on Tester system CseSystem { //Local variables - var AeSimu v_ae1 := AeSimu.create("AE1") alive; + var CseSimu v_cse1 := CseSimu.create("CSE1") alive; - v_ae1.start(f_CSE_SEC_ROL_RET_001()); - v_ae1.done; + v_cse1.start(f_CSE_SEC_ROL_RET_001()); + v_cse1.done; } - function f_CSE_SEC_ROL_RET_002() runs on AeSimu system CseSystem { + function f_CSE_SEC_ROL_RET_002() runs on CseSimu system CseSystem { // Local variables var MsgIn v_response; @@ -7636,30 +7636,30 @@ module OneM2M_Testcases_CSE_Release_3 { } // Test component configuration - f_cf01Up(); + f_cf04Up(); // Test adapter configuration // Preamble - v_aeIndex := f_cse_preamble_registerAe(); + vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase); v_roleResourceAddress := fx_assign_originatorRole(); v_tokenResourceAddress := fx_assign_originatorToken(); // Test Body var RequestPrimitive v_retrieveRequest := valueof(m_retrieve(v_tokenResourceAddress,f_getOriginator())); - f_send(e_mca_port, m_request(v_retrieveRequest)); + f_send(e_mcc_port, m_request(v_retrieveRequest)); tc_ac.start; alt { - [] mcaPort.receive(mw_response(mw_responsePrimitive(int2000))) { + [] mccPort.receive(mw_response(mw_responsePrimitive(int2000))) { tc_ac.stop; setverdict(pass, __SCOPE__ & ": Token resource retrieved"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { + [] mccPort.receive(mw_response(mw_responsePrimitiveOK)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Wrong response status code in the response"); } - [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { + [] mccPort.receive(mw_response(mw_responsePrimitiveKO)) { tc_ac.stop; setverdict(fail, __SCOPE__ & ": Error while retrieving token resource"); } @@ -7669,10 +7669,10 @@ module OneM2M_Testcases_CSE_Release_3 { } // Postamble - f_cse_postamble_deleteResources(); + f_cse_postamble_deleteResourcesCSE(); // Tear down - f_cf01Down(); + f_cf04Down(); }//end f_CSE_SEC_ROL_RET_001 @@ -7808,7 +7808,75 @@ module OneM2M_Testcases_CSE_Release_3 { // Tear down f_cf02DownCseSimuMaster(); - } // end f_CSE_SEC_ROL_RET_003 + } // end f_CSE_SEC_ROL_RET_003 + + + /** + * @desc Check that the IUT returns the result of a requeston a resource protected by role based access control, when the appropriate credentials are provided in the request + * + */ + testcase TC_CSE_SEC_ROL_RET_005() runs on Tester system CseSystem { + //Local variables + var AeSimu v_ae1 := AeSimu.create("AE1") alive; + + v_ae1.start(f_CSE_SEC_ROL_RET_005()); + v_ae1.done; + } + + function f_CSE_SEC_ROL_RET_005() runs on AeSimu system CseSystem { + // Local variables + var integer v_aeIndex := -1; + var XSD.ID v_tokenResourceID, v_roleResourceID; + var integer v_resourceIndex := -1; + + // Test control + if(not(PICS_ROL_SUPPORT)) { + setverdict(inconc, __SCOPE__ & ": Role Based Access Control Procedure support is required to run this test case"); + stop; + } + + // Test component configuration + f_cf01Up(); + + // Test adapter configuration + + // Preamble + v_aeIndex := f_cse_preamble_registerAe(); + v_resourceIndex := f_cse_createResource(int3, m_createContainerBase); + v_tokenResourceID := fx_assign_originatorToken(); + v_roleResourceID := fx_assign_originatorRole(); + + // Test Body + var RequestPrimitive v_retrieveRequest; + v_retrieveRequest := m_retrieve(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)); + v_retrieveRequest.roleIDs := {v_roleResourceID}; + v_retrieveRequest.tokenIDs := {v_tokenResourceID}; + f_send(e_mca_port, m_request(v_retrieveRequest)); + + tc_ac.start; + alt { + [] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) -> value vc_response { + tc_ac.stop; + setverdict(pass, __SCOPE__&":INFO: Resource retrieved successfuly"); + } + [] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) -> value vc_response { + tc_ac.stop; + setverdict(inconc, __SCOPE__&":INFO: Error while retrieving resource"); + } + [] tc_ac.timeout { + setverdict(inconc, __SCOPE__&":INFO: No answer while retrieving resource"); + } + } + + f_checkAeSimuStatus(); + + // Postamble + f_cse_postamble_deleteResources(); + + // Tear down + f_cf01Down(); + + }//end f_CSE_SEC_ROL_RET_005 }// end of group Retrieve