source: trunk/ETSI-Testsuites/ETSI_auto_IOT/ttcn/AtsImsIot/AtsImsIot_TestCases_REG.ttcn @ 37

Last change on this file since 37 was 22, checked in by rings, 14 years ago
  • Property svn:executable set to *
File size: 12.8 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_ic := f_cf_create_monitor(c_ic);
49                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B);
50                var Response v_200OK_Step8;
51                var Request v_Subscribe_Step10;
52               
53                // map/connect component ports
54                f_cf_adapter_up();
55                f_cf_user_up(v_ueB);
56                f_cf_roam_reg_up(v_gmA, v_ic);
57                               
58                // test body
59                f_mtc_userRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 1 @TODO shouldn't this be EUT_A?
60               
61                // @TODO check mw_credentialIntegrityNo, mw_credentialIntegrityYes
62               
63                f_mtc_check_TP_IMS_5011_01_gm(v_gmA, true); // Check1 when
64                f_mtc_check_TP_IMS_5011_01_ic(v_ic, true); // Check1 then
65                               
66                f_mtc_check_TP_IMS_5089_01_gm_when(v_gmA, false); // Check4 when (Gm)
67                f_mtc_check_TP_IMS_5089_01_ic_when(v_ic, false); // Check4 when (Mw)
68                f_mtc_check_TP_IMS_5089_01_ic_then(v_ic, false); // Check4 then @TODO check mw_WwwAuthenticate
69               
70                f_mtc_check_TP_IMS_5011_02_gm(v_gmA, true); // Check2 when (Gm)
71                f_mtc_check_TP_IMS_5011_02_ic(v_ic, true);  // Check2 then (Mw)
72               
73                f_mtc_check_TP_IMS_5092_01_gm(v_gmA, false); // Check5 when (Gm)
74                f_mtc_check_TP_IMS_5092_01_ic_when(v_ic, false); // Check5 when (Mw)           
75                f_mtc_check_TP_IMS_5092_01_ic(v_ic, true); // Check5 then
76               
77                v_200OK_Step8 := f_mtc_check_TP_IMS_5044_01_ic_when(v_ic, false); // Check3 when
78                f_mtc_check_TP_IMS_5044_01_ic(v_ic, v_200OK_Step8, true); // Check3 then
79               
80                v_Subscribe_Step10 := f_mtc_check_TP_IMS_5096_01_ic_when(v_ic, false); // Check6 when
81                f_mtc_check_TP_IMS_5096_01_ic(v_ic, v_Subscribe_Step10, false); // Check6 then
82               
83                // Test Sequence Step 2
84                f_mtc_userCheckRegistration(v_ueB, v_anyValidUser);
85               
86                // postamble
87                f_PO_user_home_deregistration(v_ueB);
88               
89                // unmap/disconnect component ports
90                f_cf_user_down(v_ueB);
91                f_cf_roam_reg_down(v_gmA, v_ic);
92                f_cf_adapter_down();
93        }
94       
95        /**
96         * @desc
97         *     No response from first entry point on REGISTER with topology hiding
98         *     (TS 186 011-2 V2.3.1 cause 4.5.2.2)
99         */
100         // @TODO
101        testcase TC_IMS_REG_0002() runs on ImsTestCoordinator system IotSystemInterface {
102                // create components
103                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
104                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
105                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
106                var Request v_Register_Step4; // why do we need this variable?
107                var Response v_200OK_Step9;
108               
109                // map/connect component ports
110                f_cf_adapter_up();
111                f_cf_user_up(v_ueB);
112                f_cf_roam_reg_up(v_gmA, v_ic);
113               
114                // test body
115                f_mtc_userRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A)); // Test Sequence Step 1
116               
117                // check no response (check1-when) -message skip (1st register)
118                // check included in check1-then
119
120                // check mw for second register request
121                f_mtc_check_TP_IMS_5203_01_ic(v_ic); // (Check1-then)
122               
123                // check gm for protected register (Check2-when)
124                       
125                // check mw for protected register (check2-when)
126               
127                // check mw for 200_response (check2-then)
128                //v_200OK_Step9 := f_mtc_check_TP_IMS_5092_01_ic(v_ic); // Check2
129               
130                //Step 2
131                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
132               
133                // postamble
134                f_PO_user_home_deregistration(v_ueB);
135               
136                // unmap/disconnect component ports
137                f_cf_user_down(v_ueB);
138                f_cf_roam_reg_down(v_gmA, v_ic);
139                f_cf_adapter_down();
140        }
141
142        /**
143         * @desc
144         *     403 response from first entry point on REGISTER with topology hiding
145         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.3)
146         */
147         // @TODO
148        testcase TC_IMS_REG_0002H() runs on ImsTestCoordinator system IotSystemInterface {
149                // create components
150                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
151                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
152                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
153                var Request v_Register_Step4;
154               
155                // map/connect component ports
156                f_cf_adapter_up();
157                f_cf_user_up(v_ueB);
158                f_cf_roam_reg_up(v_gmA, v_ic);
159               
160                // test body
161                f_mtc_userRegistration(v_ueB, f_getAnyValidUser(PX_EUT_A));
162               
163                f_mtc_check_TP_IMS_5402_01_gm(v_gmA);
164               
165                v_Register_Step4 := f_mtc_check_TP_IMS_5402_01_ic(v_ic); // Check1
166               
167                f_mtc_userCheckRegistration(v_ueB, f_getAnyValidUser(PX_EUT_B));
168               
169                // postamble
170                f_PO_user_home_deregistration(v_ueB);
171               
172                // unmap/disconnect component ports
173                f_cf_user_down(v_ueB);
174                f_cf_roam_reg_down(v_gmA, v_ic);
175        }
176        /**
177         * @desc
178         *     403 response to REGISTER from an un-trusted domain without topology hiding
179         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.4)
180         */
181        testcase TC_IMS_REG_0003() runs on ImsTestCoordinator system IotSystemInterface {
182                // create components
183                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
184                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
185                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
186                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B); 
187               
188                // map/connect component ports
189                f_cf_adapter_up();
190                f_cf_user_up(v_ueB);
191                f_cf_roam_reg_up(v_gmA, v_ic);
192               
193                // test body
194                f_mtc_userRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 1
195               
196                f_mtc_check_TP_IMS_5129_01_gm(v_gmA, false); // Check1 when (Gm)
197                f_mtc_check_TP_IMS_5129_01_ic_when(v_ic, false); // Check1 when (Mw)
198
199                f_mtc_check_TP_IMS_5129_01_ic(v_ic, false); // Check1 then
200               
201                f_mtc_userCheckNoRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2 - unsuccessful registration
202               
203                // unmap/disconnect component ports
204                f_cf_user_down(v_ueB);
205                f_cf_roam_reg_down(v_gmA, v_ic);
206        }
207
208        /**
209         * @desc
210         *     403 response to REGISTER from an un-trusted domain with topology hiding
211         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.5)
212         */
213        testcase TC_IMS_REG_0003H() runs on ImsTestCoordinator system IotSystemInterface {
214                // create components
215                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
216                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
217                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
218                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B); 
219               
220                // map/connect component ports
221                f_cf_adapter_up();
222                f_cf_user_up(v_ueB);
223                f_cf_roam_reg_up(v_gmA, v_ic);
224               
225                // test body
226                f_mtc_userRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 1
227               
228                f_mtc_check_TP_IMS_5411_01_gm(v_gmA, false); // Check1 when (Gm)
229                f_mtc_check_TP_IMS_5411_01_ic_when(v_gmA, false); //Check1 when (Mw)
230
231                f_mtc_check_TP_IMS_5411_01_ic(v_ic, false); // Check1 then
232               
233                f_mtc_userCheckNoRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2 - unsuccessful registration
234               
235                // unmap/disconnect component ports
236                f_cf_user_down(v_ueB);
237                f_cf_roam_reg_down(v_gmA, v_ic);
238        }
239
240        /**
241        * @desc IMS network supports network initiated re-registration
242        * upon receipt of a new registration with new contact information
243        * @see ETSI TS 186 011-2 V2.3.1 cause 4.5.2.6
244        */
245        testcase TC_IMS_REG_0004() runs on ImsTestCoordinator system IotSystemInterface {
246                // create components
247                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
248                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
249                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
250                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B);
251               
252                // map/connect component ports
253                f_cf_adapter_up();
254                f_cf_user_up(v_ueB);
255                f_cf_roam_reg_up(v_gmA, v_ic);
256               
257                // test body
258                f_mtc_userRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 1
259               
260                f_mtc_check_TP_IMS_5088_01_gm(v_gmA, false); // Check1 when (REGISTER)
261                f_mtc_check_TP_IMS_5088_01_ic(v_ic, false); // Check1 then (NOTIFY)
262               
263                f_mtc_userCheckRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2
264               
265                // postamble
266                f_PO_user_home_deregistration(v_ueB);
267               
268                // unmap/disconnect component ports
269                f_cf_user_down(v_ueB);
270                f_cf_roam_reg_down(v_gmA, v_ic);
271        }
272       
273        /**
274        * @desc IMS network can initiate user de-registration,
275        *               e.g., when a user runs out of credit
276        * @see  ETSI TS 186 011-2 V2.3.1 cause 4.5.2.7
277        */
278        testcase TC_IMS_REG_0005() runs on ImsTestCoordinator system IotSystemInterface {
279                // create components
280                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
281                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
282                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
283                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B);
284               
285                // map/connect component ports
286                f_cf_adapter_up();
287                f_cf_user_up(v_ueB);
288                f_cf_roam_reg_up(v_gmA, v_ic);
289               
290                // test body
291                // IMS_B is triggered manually to de-register user B // Test Sequence Step 1 manuallz
292               
293                // IMS_B receives a network_originated_deregistration_event // Check1 when manually
294               
295                f_mtc_check_TP_IMS_5093_01_UE_ic(v_ic, v_anyValidUser, false); // check1 then - 1st NOTIFY
296                f_mtc_check_TP_IMS_5093_01_IMS_ic(v_ic, false); // check1 then - 2nd NOTIFY
297               
298                f_mtc_userCheckNoRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2 - check that user is not registered anymore (de-registration)
299               
300                // postamble
301                f_PO_user_home_deregistration(v_ueB);
302               
303                // unmap/disconnect component ports
304                f_cf_user_down(v_ueB);
305                f_cf_roam_reg_down(v_gmA, v_ic);
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_ic := f_cf_create_monitor(c_ic);
316                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B);
317               
318                // map/connect component ports
319                f_cf_adapter_up();
320                f_cf_user_up(v_ueB);
321                f_cf_roam_reg_up(v_gmA, v_ic);
322               
323                // test body
324               
325                //IMS_B receives a network_originated_deregistration_event // Check1 when manually
326               
327                f_mtc_check_TP_IMS_5094_01_UE(v_ic, v_anyValidUser, false); // check1 then - 1st NOTIFY
328                f_mtc_check_TP_IMS_5094_01_IMS(v_ic, false); // check1 then - 2nd NOTIFY
329               
330                f_mtc_userCheckRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2
331               
332                // postamble
333                f_PO_user_home_deregistration(v_ueB);
334                f_cf_roam_reg_down(v_gmA, v_ic);
335               
336                // unmap/disconnect component ports
337                f_cf_user_down(v_ueB);
338                f_cf_adapter_down();
339        }
340
341        /**
342         * @desc
343         *     First time registration in a visited IMS network with topology hiding.
344         *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.2.9)
345         */
346        // @TODO
347        testcase TC_IMS_REG_0007() runs on ImsTestCoordinator system IotSystemInterface {
348                // create components
349                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
350                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
351                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
352                var ImsUserInfo v_anyValidUser := f_getAnyValidUser(PX_EUT_B);
353               
354                // map/connect component ports
355                f_cf_adapter_up();
356                f_cf_user_up(v_ueB);
357                f_cf_roam_reg_up(v_gmA, v_ic);
358
359                // test body
360               
361                f_mtc_userRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 1
362               
363                f_mtc_check_TP_IMS_5134_01_gm(v_gmA, false); // Check1 when
364                f_mtc_check_TP_IMS_5134_01_ic(v_ic, false); // Check1 then
365               
366                f_mtc_check_TP_IMS_5405_01_gm(v_gmA, false); // Check2 when
367                f_mtc_check_TP_IMS_5405_01_ic(v_ic, false); // Check2 then // @TODO mdw_TP_IMS_5405_01_ic needs to be checked
368               
369                f_mtc_userCheckRegistration(v_ueB, v_anyValidUser); // Test Sequence Step 2
370               
371                // postamble
372                f_PO_user_home_deregistration(v_ueB);
373                f_cf_roam_reg_down(v_gmA, v_ic);
374               
375                // unmap/disconnect component ports
376                f_cf_user_down(v_ueB);
377                f_cf_adapter_down();
378        }
379}
Note: See TracBrowser for help on using the repository browser.