source: trunk/ETSI-Testsuites/ETSI_auto_IOT/ttcn/AtsImsIot/AtsImsIot_TestCases_MESS.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: 11.4 KB
Line 
1/**
2 *      @author         STF 370
3 *  @version    $Id: $
4 *      @desc           This module provides ATS specific test case definitions.
5 */
6module AtsImsIot_TestCases_MESS {
7       
8        import from AtsImsIot_Behavior {function all;}
9
10        import from AtsImsIot_Functions {function all;}
11       
12        import from LibCommon_VerdictControl {type FncRetCode;}
13
14        import from LibIot_PIXITS {modulepar PX_EUT_A, PX_EUT_B;}
15
16        import from LibIms_UpperTester {type ImsUserInfo;}
17
18        import from LibIot_TestConfiguration {
19                function f_cf_create_IotEquipmentUser;
20        }
21
22        import from AtsImsIot_TestConfiguration {
23                const all;
24                function all;
25        }
26
27        import from LibIot_TestInterface {type IotEquipmentUser;}
28
29        import from AtsImsIot_TestSystem {
30                type ImsInterfaceMonitor, ImsTestCoordinator, IotSystemInterface;
31        }
32               
33        import from AtsImsIot_TestSystem {type CF_INT_CALL;}
34       
35        import from AtsImsIot_Templates all;
36
37               
38        /**
39         * @desc
40         *     IMS network shall support SIP messages greater than 1500 bytes.
41         *     (in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1)
42         */
43        testcase TC_IMS_MESS_0001() runs on ImsTestCoordinator system IotSystemInterface {
44                // create components
45                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
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 CF_INT_CALL v_config := {v_gmA, v_ic, omit};
50               
51                // map/connect component ports
52                f_cf_adapter_up();
53                f_cf_user_up(v_ueA);
54                f_cf_user_up(v_ueB);
55               
56                // preamble
57                f_cf_int_call_up(v_config);
58                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
59                f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
60                        log("**** TC_IMS_MESS_0001: Preamble done. ****");
61               
62                // test body
63                f_mtc_userSendMessage(v_ueA, f_getMessageBody(1301));
64                f_mtc_check_TP_IMS_4002_01_gm(v_gmA);
65                f_mtc_check_TP_IMS_4002_01_ic(v_ic);
66                f_mtc_userCheckMessageReceipt(v_ueB);
67               
68                // postabmle
69                f_PO_user_home_deregistration(v_ueA);
70                f_PO_user_home_deregistration(v_ueB);
71                f_cf_int_call_down(v_config);
72                log("**** TC_IMS_MESS_0001: Postamble done. ****");
73               
74                //unmap/disconnet component ports
75                f_cf_user_down(v_ueA);
76                f_cf_user_down(v_ueB);
77                f_cf_adapter_down();
78        }
79       
80       
81               
82        /**
83                 * @desc
84                 *     IMS network handles messaging with SIP identity correctly without
85                 *     topology hiding. (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.1)
86                 */
87        testcase TC_IMS_MESS_0002() runs on ImsTestCoordinator system IotSystemInterface {
88                // create components
89                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
90                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
91                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
92                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
93                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
94                var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB};
95               
96                // map/connect component ports
97                f_cf_adapter_up();
98                f_cf_user_up(v_ueA);
99                f_cf_user_up(v_ueB);
100                f_cf_int_call_up(v_config);
101               
102                // preamble
103                f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A));
104                f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
105               
106                // test body
107                f_mtc_userSendMessage(v_ueA, "test");
108               
109                f_mtc_check_TP_IMS_5097_05_gm(v_gmA, false); // message not removed from port queue
110                //f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false); // message removed from port queue
111                f_mtc_check_TP_IMS_5097_05_ic(v_ic, false);// message not removed from port queue
112                //f_mtc_check_TP_IMS_5097_07_ic(v_ic, false);// message removed from port queue
113               
114                f_mtc_userCheckMessageReceipt(v_ueB);
115               
116                f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue
117                f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false);// message removed from port queue
118                f_mtc_check_TP_IMS_5117_02_ic(v_ic, true);// message not removed from port queue
119                f_mtc_check_TP_IMS_5118_01_ic(v_ic, false);// message removed from port queue
120               
121                // postabmle
122                f_PO_user_home_deregistration(v_ueA);
123                f_PO_user_home_deregistration(v_ueB);
124                f_cf_int_call_down(v_config);
125               
126                //unmap/disconnet component ports
127                f_cf_user_down(v_ueA);
128                f_cf_user_down(v_ueB);
129                f_cf_adapter_down();
130        }
131       
132               
133        /**
134                 * @desc
135                 *     IMS network handles messaging with TEL URI identities correctly
136                 *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.2)
137                 */
138        testcase TC_IMS_MESS_0003() runs on ImsTestCoordinator system IotSystemInterface {
139                // create components
140                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
141                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
142                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
143                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
144                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
145                var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB};
146               
147                // map/connect component ports
148                f_cf_adapter_up();
149                f_cf_user_up(v_ueA);
150                f_cf_user_up(v_ueB);
151                f_cf_int_call_up(v_config);
152               
153                // preamble
154                f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A));
155                f_PR_user_home_registration(v_ueB, f_getTelUserId(PX_EUT_B));
156               
157                // test body
158                f_mtc_userSendMessage(v_ueA, "test");
159               
160                f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false);
161                f_mtc_check_TP_IMS_5097_07_ic(v_ic, false);
162               
163                f_mtc_userCheckMessageReceipt(v_ueB);
164               
165                f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue
166                f_mtc_check_TP_IMS_5118_01_gm(v_gmB, true);// message not removed from port queue
167                f_mtc_check_TP_IMS_5117_06_gm(v_gmB, false);// message removed from port queue
168                f_mtc_check_TP_IMS_5117_02_ic(v_ic, true);// message not removed from port queue
169                f_mtc_check_TP_IMS_5118_01_ic(v_ic, true);// message not removed from port queue
170                f_mtc_check_TP_IMS_5117_06_ic(v_ic, false);// message removed from port queue
171               
172                // postabmle
173                f_PO_user_home_deregistration(v_ueA);
174                f_PO_user_home_deregistration(v_ueB);
175                f_cf_int_call_down(v_config);
176               
177                //unmap/disconnet component ports
178                f_cf_user_down(v_ueA);
179                f_cf_user_down(v_ueB);
180                f_cf_adapter_down();
181        }
182       
183        /**
184                 * @desc
185                 *     IMS network handles messaging with DNS/ENUM lookup procedure correctly
186                 *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.3)
187                 */
188        testcase TC_IMS_MESS_0004() runs on ImsTestCoordinator system IotSystemInterface {
189                // create components
190                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
191                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
192                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
193                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
194                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
195                var CF_INT_CALL v_config := {v_gmA, v_ic, v_gmB};
196               
197                // map/connect component ports
198                f_cf_adapter_up();
199                f_cf_user_up(v_ueA);
200                f_cf_user_up(v_ueB);
201                f_cf_int_call_up(v_config);
202               
203                // preamble
204                f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A));
205                f_PR_user_home_registration(v_ueB, f_getTelUserId(PX_EUT_B));
206               
207                // test body
208                f_mtc_userSendMessage(v_ueA, "test");
209               
210                f_mtc_check_TP_IMS_5097_08_gm(v_gmA, false);
211                f_mtc_check_TP_IMS_5097_08_ic(v_ic, false);
212               
213                // TODO add DNS checks
214               
215                f_mtc_userCheckMessageReceipt(v_ueB);
216               
217                f_mtc_check_TP_IMS_5117_06_gm(v_gmB, false);
218                f_mtc_check_TP_IMS_5117_06_ic(v_ic, false);
219               
220                // postabmle
221                f_PO_user_home_deregistration(v_ueA);
222                f_PO_user_home_deregistration(v_ueB);
223                f_cf_int_call_down(v_config);
224               
225                //unmap/disconnet component ports
226                f_cf_user_down(v_ueA);
227                f_cf_user_down(v_ueB);
228                f_cf_adapter_down();
229        }       
230       
231       
232       
233        /**
234                 * @desc
235                 *     IMS network handles messaging while roaming correctly.
236                 *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.4)
237                 */
238        testcase TC_IMS_MESS_0005() runs on ImsTestCoordinator system IotSystemInterface {
239                // create components
240                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
241                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
242                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
243                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
244               
245                // map/connect component ports
246                f_cf_adapter_up();
247                f_cf_user_up(v_ueA);
248                f_cf_user_up(v_ueB);
249                f_cf_roam_call_up(v_gmA, v_ic);
250               
251                // preamble
252                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
253                f_PR_user_roaming_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
254               
255                // test body
256                f_mtc_userSendMessage(v_ueA, "test");
257               
258                f_mtc_check_TP_IMS_5108_02_ic(v_ic); // TODO must be checked
259               
260                f_mtc_userCheckMessageReceipt(v_ueB);
261               
262                f_mtc_check_TP_IMS_5118_01_gm(v_gmA, false);
263                f_mtc_check_TP_IMS_5118_01_ic(v_ic, false);
264               
265                // postabmle
266                f_PO_user_home_deregistration(v_ueA);
267                f_PO_user_roaming_deregistration(v_ueB);
268                f_cf_roam_call_down(v_gmA, v_ic);
269               
270                //unmap/disconnet component ports
271                f_cf_user_down(v_ueA);
272                f_cf_user_down(v_ueB);
273                f_cf_adapter_down();
274        }
275       
276        /**
277                 * @desc
278                 *     IMS network handles messaging correctly when receiving user is nit registered.
279                 *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.5)
280                 */
281        testcase TC_IMS_MESS_0006() runs on ImsTestCoordinator system IotSystemInterface {
282                // create components
283                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
284                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
285                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
286                var CF_INT_CALL v_config := {v_gmA, v_ic, omit};
287               
288                // map/connect component ports
289                f_cf_adapter_up();
290                f_cf_user_up(v_ueA);
291                f_cf_int_call_up(v_config);
292               
293                // preamble
294                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
295               
296                // test body
297                f_mtc_userSendMessage(v_ueA, "test");
298               
299                f_mtc_check_TP_IMS_5114_02_gm(v_gmA);
300                f_mtc_check_TP_IMS_5114_02_ic(v_ic);
301               
302                f_mtc_userCheckMessageNotDelivered(v_ueA);
303               
304                // postabmle
305                f_PO_user_home_deregistration(v_ueA);
306                f_cf_int_call_down(v_config);
307               
308                //unmap/disconnet component ports
309                f_cf_user_down(v_ueA);
310                f_cf_adapter_down();
311        }
312       
313               
314        /**
315                 * @desc
316                 *     IMS network handles messaging correctly when receiving user is nit registered.
317                 *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.6)
318                 */
319        testcase TC_IMS_MESS_0007() runs on ImsTestCoordinator system IotSystemInterface {
320                // create components
321                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
322                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
323                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
324                var ImsInterfaceMonitor v_ic := f_cf_create_monitor(c_ic);
325                var CF_INT_CALL v_config := {v_gmA, v_ic, omit};
326               
327                // map/connect component ports
328                f_cf_adapter_up();
329                f_cf_user_up(v_ueA);
330                f_cf_user_up(v_ueB);
331                f_cf_int_call_up(v_config);
332               
333                // preamble
334                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
335                f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
336               
337                // test body
338                f_mtc_userSendMessage(v_ueA, "test");
339               
340                f_mtc_check_TP_IMS_5108_06_gm(v_gmA);
341                f_mtc_check_TP_IMS_5108_06_ic(v_ic);
342               
343                f_mtc_userCheckMessageNotDelivered(v_ueA);
344               
345                // postabmle
346                f_PO_user_home_deregistration(v_ueA);
347                f_PO_user_home_deregistration(v_ueB);
348                f_cf_int_call_down(v_config);
349               
350                //unmap/disconnet component ports
351                f_cf_user_down(v_ueA);
352                f_cf_user_down(v_ueB);
353                f_cf_adapter_down();
354        }
355}
Note: See TracBrowser for help on using the repository browser.