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

Last change on this file was 22, checked in by rings, 14 years ago
  • Property svn:executable set to *
File size: 11.0 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 {
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       
36        /**
37         * @desc
38         *     IMS network shall support SIP messages greater than 1500 bytes.
39         *     (in ETSI TS 186 011-2 V2.3.1 cause 4.5.1.1)
40         */
41        testcase TC_IMS_MESS_0001() runs on ImsTestCoordinator system IotSystemInterface {
42                // create components
43                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
44                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
45                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
46                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
47               
48                // map/connect component ports
49                f_cf_user_up(v_ueA);
50                f_cf_user_up(v_ueB);
51                f_cf_monitor_up(v_gmA);
52                f_cf_monitor_up(v_mw);
53               
54                // preamble
55                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
56                f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
57               
58                // test body
59                f_mtc_userSendMessage(v_ueA, "body>1300Bytes"); // TODO add body here
60                f_mtc_check_TP_IMS_4002_01_gm(v_gmA);
61                f_mtc_check_TP_IMS_4002_01_mw(v_mw);
62                f_mtc_userCheckMessageReceipt(v_ueB);
63               
64                // postabmle
65                f_PO_user_home_deregistration(v_ueA);
66                f_PO_user_home_deregistration(v_ueB);
67               
68                //unmap/disconnet component ports
69                f_cf_user_down(v_ueA);
70                f_cf_user_down(v_ueB);
71                f_cf_monitor_down(v_gmA);
72                f_cf_monitor_down(v_mw);
73        }
74       
75       
76               
77        /**
78     * @desc
79     *     IMS network handles messaging with SIP identity correctly without
80     *     topology hiding. (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.1)
81     */
82        testcase TC_IMS_MESS_0002() runs on ImsTestCoordinator system IotSystemInterface {
83                // create components
84                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
85                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
86                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
87                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
88                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
89               
90                // map/connect component ports
91                f_cf_user_up(v_ueA);
92                f_cf_user_up(v_ueB);
93                f_cf_monitor_up(v_gmA);
94                f_cf_monitor_up(v_gmB);
95                f_cf_monitor_up(v_mw);
96               
97                // preamble
98                f_PR_user_home_registration(v_ueA, f_getSipUserId(PX_EUT_A));
99                f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
100               
101                // test body
102                f_mtc_userSendMessage(v_ueA, "test");
103               
104                f_mtc_check_TP_IMS_5097_05_gm(v_gmA, true); // message not removed from port queue
105                f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false); // message removed from port queue
106                f_mtc_check_TP_IMS_5097_05_mw(v_mw, true);// message not removed from port queue
107                f_mtc_check_TP_IMS_5097_07_mw(v_mw, false);// message removed from port queue
108               
109                f_mtc_userCheckMessageReceipt(v_ueB);
110               
111                f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue
112                f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false);// message removed from port queue
113                f_mtc_check_TP_IMS_5117_02_mw(v_mw, true);// message not removed from port queue
114                f_mtc_check_TP_IMS_5118_01_mw(v_mw, false);// message removed from port queue
115               
116                // postabmle
117                f_PO_user_home_deregistration(v_ueA);
118                f_PO_user_home_deregistration(v_ueB);
119               
120                //unmap/disconnet component ports
121                f_cf_user_down(v_ueA);
122                f_cf_user_down(v_ueB);
123                f_cf_monitor_down(v_gmA);
124                f_cf_monitor_down(v_gmB);
125                f_cf_monitor_down(v_mw);
126        }
127       
128               
129        /**
130     * @desc
131     *     IMS network handles messaging with TEL URI identities correctly
132     *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.2)
133     */
134        testcase TC_IMS_MESS_0003() runs on ImsTestCoordinator system IotSystemInterface {
135                // create components
136                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
137                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
138                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
139                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
140                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
141               
142                // map/connect component ports
143                f_cf_user_up(v_ueA);
144                f_cf_user_up(v_ueB);
145                f_cf_monitor_up(v_gmA);
146                f_cf_monitor_up(v_gmB);
147                f_cf_monitor_up(v_mw);
148               
149                // preamble
150                f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A));
151                f_PR_user_home_registration(v_ueB, f_getTelUserId(PX_EUT_B));
152               
153                // test body
154                f_mtc_userSendMessage(v_ueA, "test");
155               
156                f_mtc_check_TP_IMS_5097_07_gm(v_gmA, false);
157                f_mtc_check_TP_IMS_5097_07_mw(v_mw, false);
158               
159                f_mtc_userCheckMessageReceipt(v_ueB);
160               
161                f_mtc_check_TP_IMS_5117_02_gm(v_gmB, true);// message not removed from port queue
162                f_mtc_check_TP_IMS_5118_01_gm(v_gmB, true);// message not removed from port queue
163                f_mtc_check_TP_IMS_5117_06_gm(v_gmB, false);// message removed from port queue
164                f_mtc_check_TP_IMS_5117_02_mw(v_mw, true);// message not removed from port queue
165                f_mtc_check_TP_IMS_5118_01_mw(v_mw, true);// message not removed from port queue
166                f_mtc_check_TP_IMS_5117_06_mw(v_mw, false);// message removed from port queue
167               
168                // postabmle
169                f_PO_user_home_deregistration(v_ueA);
170                f_PO_user_home_deregistration(v_ueB);
171               
172                //unmap/disconnet component ports
173                f_cf_user_down(v_ueA);
174                f_cf_user_down(v_ueB);
175                f_cf_monitor_down(v_gmA);
176                f_cf_monitor_down(v_gmB);
177                f_cf_monitor_down(v_mw);
178        }
179       
180        /**
181     * @desc
182     *     IMS network handles messaging with DNS/ENUM lookup procedure correctly
183     *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.3)
184     */
185        testcase TC_IMS_MESS_0004() runs on ImsTestCoordinator system IotSystemInterface {
186                // create components
187                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
188                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
189                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
190                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
191                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
192               
193                // map/connect component ports
194                f_cf_user_up(v_ueA);
195                f_cf_user_up(v_ueB);
196                f_cf_monitor_up(v_gmA);
197                f_cf_monitor_up(v_gmB);
198                f_cf_monitor_up(v_mw);
199               
200                // preamble
201                f_PR_user_home_registration(v_ueA, f_getTelUserId(PX_EUT_A));
202                f_PR_user_home_registration(v_ueB, f_getTelUserId(PX_EUT_B));
203               
204                // test body
205                f_mtc_userSendMessage(v_ueA, "test");
206               
207                f_mtc_check_TP_IMS_5097_08_gm(v_gmA, false);
208                f_mtc_check_TP_IMS_5097_08_mw(v_mw, false);
209               
210                // TODO add DNS checks
211               
212                f_mtc_userCheckMessageReceipt(v_ueB);
213               
214                f_mtc_check_TP_IMS_5117_06_gm(v_gmB, false);
215                f_mtc_check_TP_IMS_5117_06_mw(v_mw, false);
216               
217                // postabmle
218                f_PO_user_home_deregistration(v_ueA);
219                f_PO_user_home_deregistration(v_ueB);
220               
221                //unmap/disconnet component ports
222                f_cf_user_down(v_ueA);
223                f_cf_user_down(v_ueB);
224                f_cf_monitor_down(v_gmA);
225                f_cf_monitor_down(v_gmB);
226                f_cf_monitor_down(v_mw);
227        }       
228       
229       
230       
231        /**
232     * @desc
233     *     IMS network handles messaging while roaming correctly.
234     *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.4)
235     */
236        testcase TC_IMS_MESS_0005() runs on ImsTestCoordinator system IotSystemInterface {
237                // create components
238                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
239                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
240                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
241                var ImsInterfaceMonitor v_gmB := f_cf_create_monitor(c_gm_B);
242                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
243               
244                // map/connect component ports
245                f_cf_user_up(v_ueA);
246                f_cf_user_up(v_ueB);
247                f_cf_monitor_up(v_gmA);
248                f_cf_monitor_up(v_gmB);
249                f_cf_monitor_up(v_mw);
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_5050_01_gm(v_gmA, false); // TODO must be checked
259                f_mtc_check_TP_IMS_5050_01_mw(v_mw, true);
260                f_mtc_check_TP_IMS_5108_02_mw(v_mw); // TODO must be checked
261               
262                f_mtc_userCheckMessageReceipt(v_ueB);
263               
264                f_mtc_check_TP_IMS_5118_01_gm(v_gmB, false);
265                f_mtc_check_TP_IMS_5118_01_mw(v_mw, false);
266               
267                // postabmle
268                f_PO_user_home_deregistration(v_ueA);
269                f_PO_user_roaming_deregistration(v_ueB);
270               
271                //unmap/disconnet component ports
272                f_cf_user_down(v_ueA);
273                f_cf_user_down(v_ueB);
274                f_cf_monitor_down(v_gmA);
275                f_cf_monitor_down(v_gmB);
276                f_cf_monitor_down(v_mw);
277        }
278       
279        /**
280     * @desc
281     *     IMS network handles messaging correctly when receiving user is nit registered.
282     *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.5)
283     */
284        testcase TC_IMS_MESS_0006() runs on ImsTestCoordinator system IotSystemInterface {
285                // create components
286                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
287                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
288                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
289               
290                // map/connect component ports
291                f_cf_user_up(v_ueA);
292                f_cf_monitor_up(v_gmA);
293                f_cf_monitor_up(v_mw);
294               
295                // preamble
296                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
297               
298                // test body
299                f_mtc_userSendMessage(v_ueA, "test");
300               
301                f_mtc_check_TP_IMS_5114_02_gm(v_gmA);
302                f_mtc_check_TP_IMS_5114_02_mw(v_mw);
303               
304                f_mtc_userCheckMessageNotDelivered(v_ueA);
305               
306                // postabmle
307                f_PO_user_home_deregistration(v_ueA);
308               
309                //unmap/disconnet component ports
310                f_cf_user_down(v_ueA);
311                f_cf_monitor_down(v_gmA);
312                f_cf_monitor_down(v_mw);
313        }
314       
315               
316        /**
317     * @desc
318     *     IMS network handles messaging correctly when receiving user is nit registered.
319     *     (ETSI TS 186 011-2 V2.3.1 cause 4.5.4.6)
320     */
321        testcase TC_IMS_MESS_0007() runs on ImsTestCoordinator system IotSystemInterface {
322                // create components
323                var IotEquipmentUser v_ueA := f_cf_create_IotEquipmentUser(c_userUE_A);
324                var IotEquipmentUser v_ueB := f_cf_create_IotEquipmentUser(c_userUE_B);
325                var ImsInterfaceMonitor v_gmA := f_cf_create_monitor(c_gm_A);
326                var ImsInterfaceMonitor v_mw := f_cf_create_monitor(c_mw);
327               
328                // map/connect component ports
329                f_cf_user_up(v_ueA);
330                f_cf_user_up(v_ueB);
331                f_cf_monitor_up(v_gmA);
332                f_cf_monitor_up(v_mw);
333               
334                // preamble
335                f_PR_user_home_registration(v_ueA, f_getAnyValidUser(PX_EUT_A));
336                f_PR_user_home_registration(v_ueB, f_getAnyValidUser(PX_EUT_B));
337               
338                // test body
339                f_mtc_userSendMessage(v_ueA, "test");
340               
341                f_mtc_check_TP_IMS_5108_06_gm(v_gmA);
342                f_mtc_check_TP_IMS_5108_06_mw(v_mw);
343               
344                f_mtc_userCheckMessageNotDelivered(v_ueA);
345               
346                // postabmle
347                f_PO_user_home_deregistration(v_ueA);
348                f_PO_user_home_deregistration(v_ueB);
349               
350                //unmap/disconnet component ports
351                f_cf_user_down(v_ueA);
352                f_cf_user_down(v_ueB);
353                f_cf_monitor_down(v_gmA);
354                f_cf_monitor_down(v_mw);
355        }
356}
Note: See TracBrowser for help on using the repository browser.