Initialize Tizen 2.3
[framework/telephony/libslp-tapi.git] / wearable / TC / testcase / utc_phonebook.c
1 /*
2  * libslp-tapi
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Anga Santhosh Kumar <santhosh.a@samsung.com>
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 #include <tet_api.h>
22 #include <stdlib.h>
23
24 #include <tapi_common.h>
25 #include <ITapiPhonebook.h>
26 #include <TapiUtility.h>
27
28 #include "util_common.h"
29
30 TapiHandle *handle;
31 enum async_state async_flag;
32
33 /**
34  * tel_get_sim_pb_init_info
35  *
36  */
37 static void utc_tel_get_sim_pb_init_info(void)
38 {
39         int ret;
40         int init_completed = 0;
41         TelSimPbList_t pb_list;
42
43         memset(&pb_list, 0, sizeof(TelSimPbList_t));
44
45         util_init_loop();
46
47         ret = tel_get_sim_pb_init_info(handle, &init_completed, &pb_list);
48         if (ret != TAPI_API_SUCCESS) {
49                 dts_fail("tel_get_sim_pb_init_info", "Unexpected return");
50         }
51
52         dts_pass("tel_get_sim_pb_init_info");
53 }
54
55 static void utc_fail_tel_get_sim_pb_init_info(void)
56 {
57         int ret;
58         int init_completed = 0;
59
60         ret = tel_get_sim_pb_init_info(NULL, NULL, NULL);
61         if (ret == TAPI_API_SUCCESS) {
62                 dts_fail("tel_get_sim_pb_init_info", "Parameter check failed");
63         }
64
65         ret = tel_get_sim_pb_init_info(handle, NULL, NULL);
66         if (ret == TAPI_API_SUCCESS) {
67                 dts_fail("tel_get_sim_pb_init_info", "Parameter check failed");
68         }
69
70         ret = tel_get_sim_pb_init_info(handle, &init_completed, NULL);
71         if (ret == TAPI_API_SUCCESS) {
72                 dts_fail("tel_get_sim_pb_init_info", "Parameter check failed");
73         }
74
75         dts_pass("tel_get_sim_pb_init_info");
76 }
77
78 /**
79  * tel_get_sim_pb_count
80  *
81  */
82 static void on_tel_get_sim_pb_count (TapiHandle *handle, int result,
83                 void *data, void *user_data)
84 {
85         int *value = user_data;
86
87         async_flag = ASYNC_DONE;
88         util_stop_loop ();
89
90         if (*value != 0xC0FFEE) {
91                 dts_fail("tel_get_sim_pb_count", "Callback userdata crashed");
92         }
93 }
94
95 static void utc_tel_get_sim_pb_count (void)
96 {
97         int ret;
98         int value = 0xC0FFEE;
99
100         util_init_loop ();
101
102         async_flag = ASYNC_READY;
103         ret = tel_get_sim_pb_count (handle, TAPI_SIM_PB_FDN,
104                         on_tel_get_sim_pb_count, &value);
105         if (ret != TAPI_API_SUCCESS) {
106                 dts_fail("tel_get_sim_pb_count", "Unexpected return");
107         }
108
109         util_start_loop ();
110         util_free_loop ();
111
112         if (async_flag != ASYNC_DONE) {
113                 dts_fail("tel_get_sim_pb_count", "Callback not invoked");
114         }
115
116         dts_pass("tel_get_sim_pb_count");
117 }
118
119 static void utc_fail_tel_get_sim_pb_count (void)
120 {
121         int ret;
122
123         ret = tel_get_sim_pb_count (NULL, TAPI_SIM_PB_FDN, NULL, NULL);
124         if (ret == TAPI_API_SUCCESS) {
125                 dts_fail("tel_get_sim_pb_count", "Parameter check failed");
126         }
127
128         ret = tel_get_sim_pb_count (handle, TAPI_SIM_PB_FDN, NULL, NULL);
129         if (ret == TAPI_API_SUCCESS) {
130                 dts_fail("tel_get_sim_pb_count", "Parameter check failed");
131         }
132
133         ret = tel_get_sim_pb_count (handle, TAPI_SIM_PB_UNKNOWNN, on_tel_get_sim_pb_count, NULL);
134         if (ret == TAPI_API_SUCCESS) {
135                 dts_fail("tel_get_sim_pb_count", "Parameter check failed");
136         }
137
138         dts_pass("tel_get_sim_pb_count");
139 }
140
141 /**
142  * tel_get_sim_pb_meta_info
143  *
144  */
145 static void on_tel_get_sim_pb_meta_info (TapiHandle *handle, int result, void *data,
146                 void *user_data)
147 {
148         int *value = user_data;
149
150         async_flag = ASYNC_DONE;
151         util_stop_loop ();
152
153         if (*value != 0xC0FFEE) {
154                 dts_fail("tel_get_sim_pb_meta_info", "Callback userdata crashed");
155         }
156 }
157
158 static void utc_tel_get_sim_pb_meta_info (void)
159 {
160         int ret;
161         int value = 0xC0FFEE;
162
163         util_init_loop ();
164
165         async_flag = ASYNC_READY;
166         ret = tel_get_sim_pb_meta_info (handle, TAPI_SIM_PB_FDN,
167                         on_tel_get_sim_pb_meta_info, &value);
168         if (ret != TAPI_API_SUCCESS) {
169                 dts_fail("tel_get_sim_pb_meta_info", "Unexpected return");
170         }
171
172         util_start_loop ();
173         util_free_loop ();
174
175         if (async_flag != ASYNC_DONE) {
176                 dts_fail("tel_get_sim_pb_meta_info", "Callback not invoked");
177         }
178
179         dts_pass("tel_get_sim_pb_meta_info");
180 }
181
182 static void utc_fail_tel_get_sim_pb_meta_info (void)
183 {
184         int ret;
185
186         ret = tel_get_sim_pb_meta_info (NULL, TAPI_SIM_PB_FDN, NULL, NULL);
187         if (ret == TAPI_API_SUCCESS) {
188                 dts_fail("tel_get_sim_pb_meta_info", "Parameter check failed");
189         }
190
191         ret = tel_get_sim_pb_meta_info (handle, TAPI_SIM_PB_FDN, NULL, NULL);
192         if (ret == TAPI_API_SUCCESS) {
193                 dts_fail("tel_get_sim_pb_meta_info", "Parameter check failed");
194         }
195
196         ret = tel_get_sim_pb_meta_info (handle, TAPI_SIM_PB_UNKNOWNN, on_tel_get_sim_pb_meta_info, NULL);
197         if (ret == TAPI_API_SUCCESS) {
198                 dts_fail("tel_get_sim_pb_meta_info", "Parameter check failed");
199         }
200
201         dts_pass("tel_get_sim_pb_meta_info");
202 }
203
204 /**
205  * tel_read_sim_pb_record
206  *
207  */
208 static void on_tel_read_sim_pb_record (TapiHandle *handle, int result,
209                 void *data, void *user_data)
210 {
211         int *value = user_data;
212
213         async_flag = ASYNC_DONE;
214         util_stop_loop ();
215
216         if (*value != 0xC0FFEE) {
217                 dts_fail("tel_read_sim_pb_record", "Callback userdata crashed");
218         }
219 }
220
221 static void utc_tel_read_sim_pb_record (void)
222 {
223         int ret;
224         int value = 0xC0FFEE;
225
226         util_init_loop ();
227
228         async_flag = ASYNC_READY;
229         ret = tel_read_sim_pb_record (handle, TAPI_SIM_PB_ADN,
230                         1, on_tel_read_sim_pb_record, &value);
231         if (ret != TAPI_API_SUCCESS) {
232                 dts_fail("tel_read_sim_pb_record", "Unexpected return");
233         }
234
235         util_start_loop ();
236         util_free_loop ();
237
238         if (async_flag != ASYNC_DONE) {
239                 dts_fail("tel_read_sim_pb_record", "Callback not invoked");
240         }
241
242         dts_pass("tel_read_sim_pb_record");
243 }
244
245 static void utc_fail_tel_read_sim_pb_record (void)
246 {
247         int ret;
248
249         ret = tel_read_sim_pb_record (NULL, TAPI_SIM_PB_ADN, 1, NULL, NULL);
250         if (ret == TAPI_API_SUCCESS) {
251                 dts_fail("tel_read_sim_pb_record", "Parameter check failed");
252         }
253
254         ret = tel_read_sim_pb_record (handle, TAPI_SIM_PB_ADN, 1, NULL, NULL);
255         if (ret == TAPI_API_SUCCESS) {
256                 dts_fail("tel_read_sim_pb_record", "Parameter check failed");
257         }
258
259         ret = tel_read_sim_pb_record (handle, TAPI_SIM_PB_ADN, 0, on_tel_read_sim_pb_record, NULL);
260         if (ret == TAPI_API_SUCCESS) {
261                 dts_fail("tel_read_sim_pb_record", "Parameter check failed");
262         }
263
264         ret = tel_read_sim_pb_record (handle, TAPI_SIM_PB_UNKNOWNN, 1, on_tel_read_sim_pb_record, NULL);
265         if (ret == TAPI_API_SUCCESS) {
266                 dts_fail("tel_read_sim_pb_record", "Parameter check failed");
267         }
268
269         dts_pass("tel_read_sim_pb_record");
270 }
271
272 /**
273  * tel_update_sim_pb_record
274  *
275  */
276 static void on_tel_update_sim_pb_record (TapiHandle *handle, int result,
277                 void *data, void *user_data)
278 {
279         int *value = user_data;
280
281         async_flag = ASYNC_DONE;
282         util_stop_loop ();
283
284         if (*value != 0xC0FFEE) {
285                 dts_fail("tel_update_sim_pb_record", "Callback userdata crashed");
286         }
287 }
288
289 static void utc_tel_update_sim_pb_record (void)
290 {
291         int ret;
292         int value = 0xC0FFEE;
293         TelSimPbRecord_t req_data;
294
295         memset(&req_data, 0, sizeof(TelSimPbRecord_t));
296         req_data.phonebook_type = TAPI_SIM_PB_ADN;
297         req_data.index = 1;
298         strncpy(req_data.name, 6, "aaaaa");
299         req_data.dcs = TAPI_SIM_TEXT_ENC_ASCII;
300         strncpy(req_data.number, 11, "8884266646");
301         req_data.ton = TAPI_SIM_TON_NATIONAL;
302
303         util_init_loop ();
304
305         async_flag = ASYNC_READY;
306         ret = tel_update_sim_pb_record (handle, &req_data,
307                 on_tel_update_sim_pb_record, &value);
308         if (ret != TAPI_API_SUCCESS) {
309                 dts_fail("tel_update_sim_pb_record", "Unexpected return");
310         }
311
312         util_start_loop ();
313         util_free_loop ();
314
315         if (async_flag != ASYNC_DONE) {
316                 dts_fail("tel_update_sim_pb_record", "Callback not invoked");
317         }
318
319         dts_pass("tel_update_sim_pb_record");
320 }
321
322 static void utc_fail_tel_update_sim_pb_record (void)
323 {
324         int ret;
325         TelSimPbRecord_t req_data;
326
327         memset(&req_data, 0, sizeof(TelSimPbRecord_t));
328
329         ret = tel_update_sim_pb_record (NULL, NULL, NULL, NULL);
330         if (ret == TAPI_API_SUCCESS) {
331                 dts_fail("tel_update_sim_pb_record", "Parameter check failed");
332         }
333
334         ret = tel_update_sim_pb_record (handle, NULL, NULL, NULL);
335         if (ret == TAPI_API_SUCCESS) {
336                 dts_fail("tel_update_sim_pb_record", "Parameter check failed");
337         }
338
339         req_data.index = 0;
340         ret = tel_update_sim_pb_record (handle, &req_data, NULL, NULL);
341         if (ret == TAPI_API_SUCCESS) {
342                 dts_fail("tel_update_sim_pb_record", "Parameter check failed");
343         }
344
345         req_data.index = 1;
346         req_data.phonebook_type = TAPI_SIM_PB_UNKNOWNN;
347         ret = tel_update_sim_pb_record (handle, &req_data, NULL, NULL);
348         if (ret == TAPI_API_SUCCESS) {
349                 dts_fail("tel_update_sim_pb_record", "Parameter check failed");
350         }
351
352         dts_pass("tel_update_sim_pb_record");
353 }
354
355 /**
356  * tel_delete_sim_pb_record
357  *
358  */
359 static void on_tel_delete_sim_pb_record (TapiHandle *handle, int result,
360                 void *data, void *user_data)
361 {
362         int *value = user_data;
363
364         async_flag = ASYNC_DONE;
365         util_stop_loop ();
366
367         if (*value != 0xC0FFEE) {
368                 dts_fail("tel_delete_sim_pb_record", "Callback userdata crashed");
369         }
370 }
371
372 static void utc_tel_delete_sim_pb_record (void)
373 {
374         int ret;
375         int value = 0xC0FFEE;
376
377         util_init_loop ();
378
379         async_flag = ASYNC_READY;
380         ret = tel_delete_sim_pb_record (handle, TAPI_SIM_PB_ADN,
381                         1, on_tel_delete_sim_pb_record, &value);
382         if (ret != TAPI_API_SUCCESS) {
383                 dts_fail("tel_delete_sim_pb_record", "Unexpected return");
384         }
385
386         util_start_loop ();
387         util_free_loop ();
388
389         if (async_flag != ASYNC_DONE) {
390                 dts_fail("tel_delete_sim_pb_record", "Callback not invoked");
391         }
392
393         dts_pass("tel_delete_sim_pb_record");
394 }
395
396 static void utc_fail_tel_delete_sim_pb_record (void)
397 {
398         int ret;
399
400         ret = tel_delete_sim_pb_record (NULL, TAPI_SIM_PB_ADN, 1, NULL, NULL);
401         if (ret == TAPI_API_SUCCESS) {
402                 dts_fail("tel_delete_sim_pb_record", "Parameter check failed");
403         }
404
405         ret = tel_delete_sim_pb_record (handle, TAPI_SIM_PB_ADN, 0, NULL, NULL);
406         if (ret == TAPI_API_SUCCESS) {
407                 dts_fail("tel_delete_sim_pb_record", "Parameter check failed");
408         }
409
410         ret = tel_delete_sim_pb_record (handle, TAPI_SIM_PB_UNKNOWNN, 1, NULL, NULL);
411         if (ret == TAPI_API_SUCCESS) {
412                 dts_fail("tel_delete_sim_pb_record", "Parameter check failed");
413         }
414
415         dts_pass("tel_delete_sim_pb_record");
416 }
417
418
419
420 /**
421  * Generate default TC for no-additional-parameter type API
422  *
423  */
424 DO(tel_get_sim_pb_usim_meta_info)
425
426 struct tet_testlist tet_testlist[] = {
427         /* generated TC */
428         { utc_tel_get_sim_pb_usim_meta_info, 1 },
429         { utc_fail_tel_get_sim_pb_usim_meta_info, 2 },
430
431         /* custom TC */
432         { utc_tel_get_sim_pb_init_info, 1 },
433         { utc_fail_tel_get_sim_pb_init_info, 2 },
434         { utc_tel_get_sim_pb_count, 1 },
435         { utc_fail_tel_get_sim_pb_count, 2 },
436         { utc_tel_get_sim_pb_meta_info, 1 },
437         { utc_fail_tel_get_sim_pb_meta_info, 2 },
438         { utc_tel_read_sim_pb_record, 1 },
439         { utc_fail_tel_read_sim_pb_record, 2 },
440         { utc_tel_update_sim_pb_record, 1 },
441         { utc_fail_tel_update_sim_pb_record, 2 },
442         { utc_tel_delete_sim_pb_record, 1 },
443         { utc_fail_tel_delete_sim_pb_record, 2 },
444         { NULL, 0 },
445 };
446
447 static void startup (void)
448 {
449         /* start of TC */
450         tet_printf ("\n TC start");
451
452         handle = tel_init (NULL);
453 }
454
455 static void cleanup (void)
456 {
457         tel_deinit (handle);
458
459         /* end of TC */
460         tet_printf ("\n TC end");
461 }
462
463 void (*tet_startup) (void) = startup;
464 void (*tet_cleanup) (void) = cleanup;