Commit 33c0287b authored by Miguel Angel Reina Ortega's avatar Miguel Angel Reina Ortega
Browse files

Modifications on TC_CSE_PCH group


Signed-off-by: Miguel Angel Reina Ortega's avatarreinaortega <miguelangel.reinaortega@etsi.org>
parent 9700ca42
......@@ -2155,8 +2155,7 @@ module OneM2M_Functions {
}
[] tc_ac.timeout {
setverdict(inconc, __SCOPE__&":INFO: Container create request not received");
stop;
setverdict(inconc, __SCOPE__&":INFO: Create request not received");
}
}
......
......@@ -1491,9 +1491,9 @@ module OneM2M_Templates {
/**
* @desc Base NOTIFY request primitive
*/
template RequestPrimitive m_notifyNotification(XSD.ID p_resourceAddress, template (value) Notification p_notification) modifies m_notify := {
template RequestPrimitive m_notifyNotification(XSD.ID p_resourceAddress, template (value) Notification p_notification, template (omit) AbsRelTimestamp p_requestExpirationTimestamp := omit) modifies m_notify := {
primitiveContent := {notification := p_notification},
requestExpirationTimestamp := {alt_1 := 10000}//Needed for polling
requestExpirationTimestamp := p_requestExpirationTimestamp//Needed for polling
};
/**
......
......@@ -8984,6 +8984,10 @@ module OneM2M_PermutationFunctions {
group PollingChannel {
/**
* @desc Check that the IUT rejects a <pollingChannel> OPERATION of the AE when AE-ID is not same as the AE-ID of the parent resource
*
*/
function f_CSE_PCH_005(template RequestPrimitive p_requestPrimitive) runs on AeSimu {
//Local variables
......
......@@ -3303,9 +3303,9 @@ module OneM2M_Testcases_CSE_Release_2 {
var integer v_aeIndex := -1;
var integer v_resourceIndex := -1;
var integer v_acpAuxIndex := -1;
var RequestPrimitive v_req1;
var MsgIn v_resp1;
var RequestPrimitive v_req2;
var RequestPrimitive v_req1, v_req2, v_req3;
var MsgIn v_resp1, v_resp3;
var ResponsePrimitive v_resp2;
// Test control
......@@ -3357,10 +3357,41 @@ module OneM2M_Testcases_CSE_Release_2 {
}
// Postamble
f_checkAeSimuStatus();
//Send response in any case
v_resp2 := valueof(m_responseNotification(int2000, omit));
v_resp2.requestIdentifier := v_resp1.primitive.responsePrimitive.primitiveContent.requestPrimitive.requestIdentifier;//requestIdentifier of req2
v_req3 := valueof(m_notifyResponsePrimitive(f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNamePollingChannelUri, v_resp2));
v_req3.from_ := f_getOriginator(v_aeIndex);
mcaPort.send(f_getMsgOutPrimitive(m_request(v_req3)));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responseNotify(int2000))) -> value v_resp3 {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": Response to req3 received");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(inconc, __SCOPE__&":INFO: Error while performing notification");
}
[] mcaPort.receive {
tc_ac.stop;
setverdict(inconc, __SCOPE__&":INFO: Unexpected message received");
}
[] tc_ac.timeout {
setverdict(inconc, __SCOPE__&":INFO: No answer while performing notification");
}
}
f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
f_cse_postamble_deleteResources();
// Tear down
f_cf01Down();
f_cf02Down();
} // end TC_CSE_PCH_001
/**
......@@ -3383,9 +3414,9 @@ module OneM2M_Testcases_CSE_Release_2 {
// Local variables
var integer v_aeIndex, v_acpAuxIndex := -1;
var integer v_resourceIndex := -1;
var RequestPrimitive v_request;
var MsgIn v_response;
var RequestPrimitive v_requestNotify;
var RequestPrimitive v_req1, v_req2, v_req3;
var MsgIn v_resp1, v_resp3;
var ResponsePrimitive v_resp2;
// Test control
......@@ -3404,16 +3435,17 @@ module OneM2M_Testcases_CSE_Release_2 {
v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
v_requestNotify := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_CSE1_ID)));
v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_CSE1_ID)));
vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
vc_cse1.start(f_cse_notifyProcedure_notify(v_req2));
v_req2.from_ := PX_CSE1_ID;
v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
mcaPort.send(f_getMsgOutPrimitive(m_request(v_request)));
v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
mcaPort.send(f_getMsgOutPrimitive(m_request(v_req1)));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_req2))) -> value v_resp1 {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": Polling response received");
}
......@@ -3435,6 +3467,35 @@ module OneM2M_Testcases_CSE_Release_2 {
}
// Postamble
f_checkAeSimuStatus();
//Send response in any case
v_resp2 := valueof(m_responseNotification(int2000, omit));
v_resp2.requestIdentifier := v_resp1.primitive.responsePrimitive.primitiveContent.requestPrimitive.requestIdentifier;//requestIdentifier of req2
v_req3 := valueof(m_notifyResponsePrimitive(f_getResourceAddress(v_resourceIndex) & "/" & c_resourceShortNamePollingChannelUri, v_resp2));
v_req3.from_ := f_getOriginator(v_aeIndex);
mcaPort.send(f_getMsgOutPrimitive(m_request(v_req3)));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responseNotify(int2000))) -> value v_resp3 {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ": Response to req3 received");
}
[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) {
tc_ac.stop;
setverdict(inconc, __SCOPE__&":INFO: Error while performing notification");
}
[] mcaPort.receive {
tc_ac.stop;
setverdict(inconc, __SCOPE__&":INFO: Unexpected message received");
}
[] tc_ac.timeout {
setverdict(inconc, __SCOPE__&":INFO: No answer while performing notification");
}
}
f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
f_cse_postamble_deleteResources();
// Tear down
......@@ -3442,7 +3503,7 @@ module OneM2M_Testcases_CSE_Release_2 {
} // end TC_CSE_PCH_002
/**
* @desc Check that the IUT which hosts <pollingChannel> resource forwards the polling response message to the CSE when receiving a Notify request to the <pollingChannelURI> resource from the AE
* @desc Check that the IUT performs both forwarding the response to the CSE and sending response to AE after receiving a Notify Request sent to the <pollingChannelURI> resource
*
*/
testcase TC_CSE_PCH_003() runs on Tester system CseSystem {
......@@ -3487,11 +3548,10 @@ module OneM2M_Testcases_CSE_Release_2 {
v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
mcaPort.send(f_getMsgOutPrimitive(m_request(v_req1)));
//v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification));
v_req2 := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
v_req2.requestExpirationTimestamp := {alt_1 := 15000};
v_req2 := valueof(m_notifyNotification(f_getResourceAddress(v_aeIndex), m_contentNotification_subscriptionVerification(PX_CSE1_ID)));
vc_cse1.start(f_cse_notifyProcedure_notify(v_req2));
v_req2.from_ := PX_CSE1_ID;
tc_ac.start;
alt {
......@@ -3552,7 +3612,11 @@ module OneM2M_Testcases_CSE_Release_2 {
// Tear down
f_cf02Down();
}
/**
* @desc Check that the IUT which performs polling send the Notify request to <pollingChannelURI> Hosting CSE after receiving response using polling channel
*
*/
testcase TC_CSE_PCH_004() runs on Tester system CseSystem {
var CseSimu v_cse1 := CseSimu.create("CSE1") alive;
......@@ -3687,65 +3751,62 @@ module OneM2M_Testcases_CSE_Release_2 {
*/
testcase TC_CSE_PCH_006() 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;
var AeSimu v_ae1 := AeSimu.create("AE1") alive;
v_ae1.start(f_setProtocolBinding(PX_PROTOCOL_BINDING_AE1));
v_ae1.done;
v_cse1.start(f_CSE_PCH_006());
v_cse1.done;
v_ae1.start(f_CSE_PCH_006());
v_ae1.done;
}
function f_CSE_PCH_006() runs on CseSimu {
function f_CSE_PCH_006() runs on AeSimu {
// Local variables
var integer v_aeIndex, v_aeIndexForResourceAddress := -1;
var integer v_aeIndex, v_acpAuxIndex := -1;
var integer v_resourceIndex := -1;
var MsgIn v_response;
var RequestPrimitive v_requestNotify;
var RequestPrimitive v_req1;
// Test control
// Test component configuration
f_cf02UpCseSimuMaster();
f_cf02Up();
// Test adapter configuration
// Preamble
vc_remoteCseIndex := f_cse_registerRemoteCse(m_createRemoteCSEBase);
vc_ae1.start(f_cse_preamble_registerAe());//AE1 is registred;
f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
v_aeIndex := f_getLatestResourceIndex(vc_ae1);
v_aeIndexForResourceAddress := f_getResourceFromAeSimu(vc_ae1);
vc_ae1.start(f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex));//PollingChannel is created;
f_cseSimu_checkComponentDoneAndGetVerdict(vc_ae1);
v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndexForResourceAddress)));
v_requestNotify.from_ := PX_CSE1_ID;
mccPort.send(f_getMsgOutPrimitive(m_request(v_requestNotify)));
tc_ac.start;
alt {
[] mccPort.receive(mw_response(mw_responsePrimitive(int4108))) -> value vc_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ":Response status code set to 4108 (REQUEST_TIMEOUT)");
}
[] mccPort.receive(mw_response()) {
tc_ac.stop;
setverdict(fail, __SCOPE__&":INFO: Unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__&":INFO: No answer while performing notification");
}
}
// Postamble
f_cse_postamble_deleteResourcesCSE();
// Preamble
vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
v_acpAuxIndex := f_cse_preamble_createAcpAux();
v_aeIndex := f_cse_preamble_registerAe({f_getResourceId(vc_resourcesList[v_acpAuxIndex].resource)}, -);//AE1 is registred;
v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
v_req1 := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
v_req1.requestExpirationTimestamp := { alt_1 := 10000};
mcaPort.send(f_getMsgOutPrimitive(m_request(v_req1)));
tc_ac.start;
alt {
[] mcaPort.receive(mw_response(mw_responsePrimitive(int4008))) -> value vc_response {
tc_ac.stop;
setverdict(pass, __SCOPE__ & ":Response status code set to 4008 (REQUEST_TIMEOUT)");
}
[] mcaPort.receive(mw_response()) {
tc_ac.stop;
setverdict(fail, __SCOPE__&":INFO: Unexpected message received");
}
[] tc_ac.timeout {
setverdict(fail, __SCOPE__&":INFO: No answer while performing notification");
}
}
// Postamble
f_cse_postamble_deleteResources();
// Tear down
f_cf02DownCseSimuMaster();
f_cf02Down();
} // end f_CSE_PCH_006
}//end group PollingChannel
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment