From 27429f8f5d10340571afc49930d3c4dd57df9083 Mon Sep 17 00:00:00 2001
From: reinaortega <miguelangel.reinaortega@etsi.org>
Date: Thu, 14 Jun 2018 11:45:32 +0200
Subject: [PATCH] TC_CSE_PCH_001 implemented + TC_CSE_PCH_002 corrected

Signed-off-by: reinaortega <miguelangel.reinaortega@etsi.org>
---
 OneM2M_Testcases_CSE_Release_2.ttcn | 80 +++++++++++++++++++++++++++--
 1 file changed, 77 insertions(+), 3 deletions(-)

diff --git a/OneM2M_Testcases_CSE_Release_2.ttcn b/OneM2M_Testcases_CSE_Release_2.ttcn
index 55c33fc..f0d75bc 100644
--- a/OneM2M_Testcases_CSE_Release_2.ttcn
+++ b/OneM2M_Testcases_CSE_Release_2.ttcn
@@ -7203,17 +7203,17 @@ module OneM2M_Testcases_CSE_Release_2 {
 			 * @desc Check that the IUT which hosts <pollingChannel> resource forwards a Notify request successfully to a target AE, once the IUT receives a polling request from AE (retrieve request to <pollingChannelURI> resource)
 			 * 
 			 */
-			testcase TC_CSE_PCH_002() runs on Tester system CseSystem {
+			testcase TC_CSE_PCH_001() runs on Tester system CseSystem {
 					
 				var AeSimu v_ae1 := AeSimu.create("AE1") alive;
 										
-				v_ae1.start(f_CSE_PCH_002());
+				v_ae1.start(f_CSE_PCH_001());
 							  	  	
 				v_ae1.done;
 							  	  		
 			}
 									
-			function f_CSE_PCH_002() runs on AeSimu {
+			function f_CSE_PCH_001() runs on AeSimu {
 				// Local variables
 				var integer v_aeIndex := -1;
 				var integer v_resourceIndex := -1;
@@ -7269,6 +7269,80 @@ module OneM2M_Testcases_CSE_Release_2 {
 				// Postamble
 				f_cse_postamble_deleteResources();
 				
+				// Tear down
+				f_cf01Down();
+			} // end TC_CSE_PCH_001
+			
+			/**
+			 * @desc Check that the IUT which hosts <pollingChannel> resource forwards a Notify request successfully to a target AE, once the IUT receives a polling request from AE
+			 * 
+			 */
+			testcase TC_CSE_PCH_002() runs on Tester system CseSystem {
+					
+				var AeSimu v_ae1 := AeSimu.create("AE1") alive;
+										
+				v_ae1.start(f_CSE_PCH_002());
+							  	  	
+				v_ae1.done;
+							  	  		
+			}
+									
+			function f_CSE_PCH_002() runs on AeSimu {
+				// Local variables
+				var integer v_aeIndex := -1;
+				var integer v_resourceIndex := -1;
+				var RequestPrimitive v_request;
+				var MsgIn v_response;
+				var RequestPrimitive v_requestNotify;
+				
+				// Test control
+	
+				// Test component configuration
+				f_cf02Up();
+	
+				// Test adapter configuration
+	
+				// Preamble
+				vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSEBase));
+				vc_cse1.done;
+				
+				v_aeIndex := f_cse_preamble_registerAe();//AE1 is registred;
+				
+				v_resourceIndex := f_cse_createResource(int15, m_createPollingChannelBase, v_aeIndex);
+				
+				v_requestNotify := valueof(m_notify(f_getResourceAddress(v_aeIndex)));
+				
+				vc_cse1.start(f_cse_notifyProcedure_notify(v_requestNotify));
+				
+				v_request := valueof(m_retrievePollingRequest(f_getResourceAddress(v_resourceIndex), f_getOriginator(v_resourceIndex)));
+				mcaPort.send(m_request(v_request));
+								
+				tc_ac.start;
+				alt {
+					[] mcaPort.receive(mw_response(mw_responsePollingResponse(v_requestNotify))) -> value v_response {
+						tc_ac.stop;
+						setverdict(pass, __SCOPE__ & ": Polling response received");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePollingResponse)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Content not carrying request targeting AE1");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveOK)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Wrong status code");
+					}
+					[] mcaPort.receive(mw_response(mw_responsePrimitiveKO)) { 
+						tc_ac.stop;
+						setverdict(fail, __SCOPE__ & ": Error while retrieving resource");
+					}
+					[] tc_ac.timeout {
+						setverdict(fail, __SCOPE__ & ": No answer while retrieving resource");
+					}
+				 }	
+								
+				// Postamble
+				f_cse_postamble_deleteResources();
+				
 				// Tear down
 				f_cf01Down();
 			} // end TC_CSE_PCH_002
-- 
GitLab