source: trunk/ETSI-Testsuites/ETSI_auto_IOT/adapter/validation/AtsImsIot/AtsImsIot_TestCases_REG.ttcn

Last change on this file was 22, checked in by rings, 14 years ago
  • Property svn:executable set to *
File size: 11.2 KB
Line 
1/**
2 *      @author         STF 370
3 *  @version    $Id: $
4 *      @desc           This module provides ATS specific test case definitions.
5 */
6module AtsImsIot_TestCases_REG {
7       
8        import from AtsImsIot_Behavior {
9        function all;
10    }
11
12        import from AtsImsIot_Functions {
13        function all;
14    }
15
16        import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
17
18        import from LibIms_UpperTester {type ImsUserInfo;}
19
20        import from LibIot_TestConfiguration {
21        function f_cf_create_IotEquipmentUser;
22    }
23
24        import from AtsImsIot_TestConfiguration {
25        const all;
26        function all;
27    }
28
29        import from LibIot_TestInterface {type IotEquipmentUser;}
30
31        import from AtsImsIot_TestSystem {
32        type ImsInterfaceMonitor, ImsTestCoordinator, IotSystemInterface;
33    }
34   
35    import from LibSip_SIPTypesAndValues all;
36   
37   
38   
39        /**
40         * @desc
41         *     First time registration in a visited IMS network.
42         *     (in ETSI TS 186 011-2 V2.3.1 cause 4.5.2.1)
43         */
44        testcase TC_IMS_REG_0001() runs on ImsTestCoordinator system IotSystemInterface {
45                // create components
46                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
47                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
48                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
49                var Response v_200OK_Step8;
50                var Request v_Subscribe_Step10;
51               
52                // map/connect component ports
53                f_cf_user_up(v_ueB);
54                f_cf_monitor_up(v_gmA);
55                f_cf_monitor_up(v_mw);
56               
57                // test body
58                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B)); // Test Sequence Step 1
59               
60                // @TODO check mw_credentialIntegrityNo, mw_credentialIntegrityYes
61               
62                f_mtc_check_TP_IMS_5011_01_gm(v_gmA, false); // Check1 when
63                f_mtc_check_TP_IMS_5011_01_mw(v_mw, true); // Check1 then
64                               
65                f_mtc_check_TP_IMS_5089_01_gm_when(v_gmA, false); // Check4 when (Gm)
66                f_mtc_check_TP_IMS_5089_01_mw_when(v_mw, false); // Check4 when (Mw)
67                f_mtc_check_TP_IMS_5089_01_mw_then(v_mw, false); // Check4 then @TODO check mw_WwwAuthenticate
68               
69                f_mtc_check_TP_IMS_5011_02_gm(v_gmA, false); // Check2 when (Gm)
70                f_mtc_check_TP_IMS_5011_02_mw(v_mw, true);  // Check2 then (Mw)
71               
72                f_mtc_check_TP_IMS_5092_01_gm(v_gmA, false); // Check5 when (Gm)
73                f_mtc_check_TP_IMS_5092_01_mw_when(v_mw, false); // Check5 when (Mw)           
74                f_mtc_check_TP_IMS_5092_01_mw(v_mw, true); // Check5 then
75               
76                v_200OK_Step8 := f_mtc_check_TP_IMS_5044_01_mw_when(v_mw, false); // Check3 when
77                f_mtc_check_TP_IMS_5044_01_mw(v_mw, v_200OK_Step8, true); // Check3 then
78               
79                v_Subscribe_Step10 := f_mtc_check_TP_IMS_5096_01_mw_when(v_mw, false); // Check6 when
80                f_mtc_check_TP_IMS_5096_01_mw(v_mw, v_Subscribe_Step10, false); // Check6 then
81               
82                // Test Sequence Step 2
83                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
84               
85                // postamble
86                f_PO_user_home_deregistration(v_ueB);
87               
88                //unmap/disconnet component ports
89                f_cf_user_down(v_ueB);
90                f_cf_monitor_down(v_gmA);
91                f_cf_monitor_down(v_mw);
92        }
93        /**
94         * @desc
95         *     No response from first entry point on REGISTER with topology hiding
96         *     (TS 186 011-2 V2.3.1 cause 4.5.2.2)
97         */
98        testcase TC_IMS_REG_0002() runs on ImsTestCoordinator system IotSystemInterface {
99                // create components
100                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
101                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
102                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
103                var Request v_Register_Step4; // why do we need this variable?
104                var Response v_200OK_Step9;
105               
106                // map/connect component ports
107                f_cf_user_up(v_ueB);
108                f_cf_monitor_up(v_gmA);
109                f_cf_monitor_up(v_mw);
110               
111                // test body
112                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A)); // Step1
113               
114                // check no response (check1-when) -message skip (1st register)
115                // check included in check1-then
116
117                // check mw for second register request
118                f_mtc_check_TP_IMS_5203_01_mw(v_mw); // (Check1-then)
119               
120                // check gm for protected register (Check2-when)
121                               
122                // check mw for protected register (check2-when)
123               
124                // check mw for 200_response (check2-then)
125                //v_200OK_Step9 := f_mtc_check_TP_IMS_5092_01_mw(v_mw); // Check2
126               
127                //Step 2
128                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
129               
130                // postamble
131                f_PO_user_home_deregistration(v_ueB);
132               
133                //unmap/disconnet component ports
134                f_cf_user_down(v_ueB);
135                f_cf_monitor_down(v_gmA);
136                f_cf_monitor_down(v_mw);
137        }
138
139        /**
140         * @desc
141         *     No response from first entry point on REGISTER with topology hiding
142         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.3)
143         */
144        testcase TC_IMS_REG_0002H() runs on ImsTestCoordinator system IotSystemInterface {
145                // create components
146                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
147                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
148                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
149                var Request v_Register_Step4;
150               
151                // map/connect component ports
152                f_cf_user_up(v_ueB);
153                f_cf_monitor_up(v_gmA);
154                f_cf_monitor_up(v_mw);
155               
156                // test body
157                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
158               
159                f_mtc_check_TP_IMS_5402_01_gm(v_gmA);
160               
161                v_Register_Step4 := f_mtc_check_TP_IMS_5402_01_mw(v_mw); // Check1
162               
163                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
164               
165                // postamble
166                f_PO_user_home_deregistration(v_ueB);
167               
168                //unmap/disconnet component ports
169                f_cf_user_down(v_ueB);
170                f_cf_monitor_down(v_gmA);
171                f_cf_monitor_down(v_mw);
172        }
173        /**
174         * @desc
175         *     403 response to REGISTER from an un-trusted domain without topology hiding
176         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.4)
177         */
178        testcase TC_IMS_REG_0003() runs on ImsTestCoordinator system IotSystemInterface {
179                // create components
180                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
181                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
182                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
183               
184                // map/connect component ports
185                f_cf_user_up(v_ueB);
186                f_cf_monitor_up(v_gmA);
187                f_cf_monitor_up(v_mw);
188               
189                // test body
190                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
191               
192                f_mtc_check_TP_IMS_5129_01_gm(v_gmA);
193
194                f_mtc_check_TP_IMS_5129_01_mw(v_mw); // Check1
195               
196                // f_mtc_userCheckRegistration(v_ueB, PX_EUT_B);
197               
198                // postamble
199                // f_PO_user_home_deregistration(v_ueB);
200               
201                //unmap/disconnet component ports
202                f_cf_user_down(v_ueB);
203                f_cf_monitor_down(v_gmA);
204                f_cf_monitor_down(v_mw);
205        }
206
207        /**
208         * @desc
209         *     403 response to REGISTER from an un-trusted domain with topology hiding
210         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.5)
211         */
212        testcase TC_IMS_REG_0003H() runs on ImsTestCoordinator system IotSystemInterface {
213                // create components
214                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
215                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
216                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
217               
218                // map/connect component ports
219                f_cf_user_up(v_ueB);
220                f_cf_monitor_up(v_gmA);
221                f_cf_monitor_up(v_mw);
222               
223                // test body
224                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
225               
226                f_mtc_check_TP_IMS_5411_01_gm(v_gmA);
227
228                f_mtc_check_TP_IMS_5411_01_mw(v_mw); // Check1
229               
230                // f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
231               
232                // postamble
233                // f_PO_user_home_deregistration(v_ueB);
234               
235                //unmap/disconnet component ports
236                f_cf_user_down(v_ueB);
237                f_cf_monitor_down(v_gmA);
238                f_cf_monitor_down(v_mw);
239        }
240
241
242
243       
244        /**
245        * @desc IMS network supports network initiated re-registration
246        * upon receipt of a new registration with new contact information
247        * @see ETSI TS 186 011-2 V2.3.1 cause 4.5.2.6
248        */
249        testcase TC_IMS_REG_0004() runs on ImsTestCoordinator system IotSystemInterface {
250                // create components
251                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
252                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
253                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
254               
255                // map/connect component ports
256                f_cf_user_up(v_ueB);
257                f_cf_monitor_up(v_gmA);
258                f_cf_monitor_up(v_mw);
259               
260                // test body
261                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
262               
263                f_mtc_check_TP_IMS_5088_01_gm(v_gmA);
264                f_mtc_check_TP_IMS_5088_01_mw(v_mw);
265                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
266               
267                // postamble
268                f_PO_user_home_deregistration(v_ueB);
269               
270                //unmap/disconnet component ports
271                f_cf_user_down(v_ueB);
272                f_cf_monitor_down(v_gmA);
273                f_cf_monitor_down(v_mw);
274        }
275       
276        /**
277        * @desc IMS network can initiate user de-registration,
278        *               e.g., when a user runs out of credit
279        * @see  ETSI TS 186 011-2 V2.3.1 cause 4.5.2.7
280        */
281        testcase TC_IMS_REG_0005() runs on ImsTestCoordinator system IotSystemInterface {
282                // create components
283                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
284                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
285                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
286               
287                // map/connect component ports
288                f_cf_user_up(v_ueB);
289                f_cf_monitor_up(v_gmA);
290                f_cf_monitor_up(v_mw);
291               
292                // test body
293                // IMS_B is triggered manually to de-register user B
294               
295                f_mtc_check_TP_IMS_5093_01_UE_mw(v_mw);
296                f_mtc_check_TP_IMS_5093_01_IMS_mw(v_mw);
297                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
298               
299                // postamble
300                f_PO_user_home_deregistration(v_ueB);
301               
302                //unmap/disconnet component ports
303                f_cf_user_down(v_ueB);
304                f_cf_monitor_down(v_gmA);
305                f_cf_monitor_down(v_mw);
306        }
307        /**
308        * @desc IMS network can initiate user re-authentication
309        * @see  ETSI TS 186 011-2 V2.3.1 cause 4.5.2.8
310        */
311        testcase TC_IMS_REG_0006() runs on ImsTestCoordinator system IotSystemInterface {
312                // create components
313                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
314                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
315                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
316               
317                // map/connect component ports
318                f_cf_user_up(v_ueB);
319                f_cf_monitor_up(v_gmA);
320                f_cf_monitor_up(v_mw);
321               
322                // test body
323               
324                f_mtc_check_TP_IMS_5094_01_UE(v_mw);
325                f_mtc_check_TP_IMS_5094_01_UE(v_gmA);
326                f_mtc_check_TP_IMS_5094_01_IMS(v_mw);
327                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
328               
329                // postamble
330                f_PO_user_home_deregistration(v_ueB);
331               
332                //unmap/disconnet component ports
333                f_cf_user_down(v_ueB);
334                f_cf_monitor_down(v_gmA);
335                f_cf_monitor_down(v_mw);
336        }
337
338        /**
339         * @desc
340         *     First time registration in a visited IMS network with topology hiding.
341         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.9)
342         */
343        testcase TC_IMS_REG_0007() runs on ImsTestCoordinator system IotSystemInterface {
344                // create components
345                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
346                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
347                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
348               
349                // map/connect component ports
350                f_cf_user_up(v_ueB);
351                f_cf_monitor_up(v_gmA);
352                f_cf_monitor_up(v_mw);
353               
354                //TODO Configure IMS_A 'for topology hiding''
355                // test body
356                f_mtc_userTriggerRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
357               
358                f_mtc_check_TP_IMS_5011_01_gm(v_gmA, false);
359               
360                f_mtc_check_TP_IMS_5134_01_mw(v_mw); // Check1
361                f_mtc_check_TP_IMS_5405_01_mw(v_mw); // Check2
362               
363                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
364               
365                // postamble
366                f_PO_user_home_deregistration(v_ueB);
367               
368                //unmap/disconnet component ports
369                f_cf_user_down(v_ueB);
370                f_cf_monitor_down(v_gmA);
371                f_cf_monitor_down(v_mw);
372        }
373}
Note: See TracBrowser for help on using the repository browser.