3 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * Licensed under the Apache License, Version 2.0 (the License);
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
20 #include <sync_agent.h>
23 POSITIVE_TC_IDX = 0x01,
27 static void startup(void);
28 static void cleanup(void);
30 void (*tet_startup) (void) = startup;
31 void (*tet_cleanup) (void) = cleanup;
33 #define TEST_FW_CONFIG_OMADS_FILE "../../../testcase/fw-test-cfg/test_fw_config_omads.xml"
35 #define OMA_DS_EVENT_NUM 10
37 #define API_NAME_SYNC_START_UP "startup"
38 #define API_NAME_SYNC_CLEAN_UP "cleanup"
40 #define API_NAME_SYNC_AGENT_DS_INIT "sync_agent_ds_init"
41 #define API_NAME_SYNC_AGENT_DS_CREATE_PROFILE_INFO "sync_agent_ds_create_profile_info"
42 #define API_NAME_SYNC_AGENT_DS_SET_PROFILE_NAME "sync_agent_ds_set_profile_name"
43 #define API_NAME_SYNC_AGENT_DS_SET_SERVER_INFO "sync_agent_ds_set_server_info"
44 #define API_NAME_SYNC_AGENT_DS_SET_SYNC_INFO "sync_agent_ds_set_sync_info"
45 #define API_NAME_SYNC_AGENT_DS_SET_SYNC_SERVICE_INFO "sync_agent_ds_set_sync_service_info"
46 #define API_NAME_SYNC_AGENT_DS_GET_PROFILE_NAME "sync_agent_ds_get_profile_name"
47 #define API_NAME_SYNC_AGENT_DS_GET_SERVER_INFO "sync_agent_ds_get_server_info"
48 #define API_NAME_SYNC_AGENT_DS_GET_SYNC_INFO "sync_agent_ds_get_sync_info"
49 #define API_NAME_SYNC_AGENT_DS_GET_SYNC_SERVICE_INFO "sync_agent_ds_get_sync_service_info"
50 #define API_NAME_SYNC_AGENT_DS_GET_LAST_SYNC_INFO "sync_agent_ds_get_last_sync_info"
51 #define API_NAME_SYNC_AGENT_DS_GET_SYNC_STATISTICS "sync_agent_ds_get_sync_statistics"
52 #define API_NAME_SYNC_AGENT_DS_ADD_PROFILE "sync_agent_ds_add_profile"
53 #define API_NAME_SYNC_AGENT_DS_GET_PROFILE "sync_agent_ds_get_profile"
54 #define API_NAME_SYNC_AGENT_DS_GET_ALL_PROFILE "sync_agent_ds_get_all_profile"
55 #define API_NAME_SYNC_AGENT_DS_UPDATE_PROFILE "sync_agent_ds_update_profile"
56 #define API_NAME_SYNC_AGENT_DS_DELETE_PROFILE "sync_agent_ds_delete_profile"
57 #define API_NAME_SYNC_AGENT_DS_START_SYNC "sync_agent_ds_start_sync"
58 #define API_NAME_SYNC_AGENT_DS_STOP_SYNC "sync_agent_ds_stop_sync"
59 #define API_NAME_SYNC_AGENT_DS_FREE_PROFILE_INFO "sync_agent_ds_free_profile_info"
60 #define API_NAME_SYNC_AGENT_DS_DEINIT "sync_agent_ds_deinit"
62 #define API_NAME_START_TEST_DS_AGENT "_start_test_ds_agent"
64 static void utc_sync_agent_framework_sync_agent_sync_agent_ds_init_p(void);
65 static void utc_sync_agent_framework_sync_agent_ds_create_profile_info_p(void);
66 static void utc_sync_agent_framework_sync_agent_ds_set_profile_name_p(void);
67 static void utc_sync_agent_framework_sync_agent_ds_set_server_info_p(void);
68 static void utc_sync_agent_framework_sync_agent_ds_set_sync_info_p(void);
69 static void utc_sync_agent_framework_sync_agent_ds_set_sync_service_info_p(void);
70 static void utc_sync_agent_framework_sync_agent_ds_get_profile_name_p(void);
71 static void utc_sync_agent_framework_sync_agent_ds_get_server_info_p(void);
72 static void utc_sync_agent_framework_sync_agent_ds_get_sync_info_p(void);
73 static void utc_sync_agent_framework_sync_agent_ds_get_sync_service_info_p(void);
74 static void utc_sync_agent_framework_sync_agent_ds_get_last_sync_info_p(void);
75 static void utc_sync_agent_framework_sync_agent_ds_get_sync_statistics_p(void);
76 static void utc_sync_agent_framework_sync_agent_ds_add_profile_p(void);
77 static void utc_sync_agent_framework_sync_agent_ds_get_profile_p(void);
78 static void utc_sync_agent_framework_sync_agent_ds_get_all_profile_p(void);
79 static void utc_sync_agent_framework_sync_agent_ds_update_profile_p(void);
80 static void utc_sync_agent_framework_sync_agent_ds_delete_profile_p(void);
81 static void utc_sync_agent_framework_sync_agent_ds_start_sync_p(void);
82 static void utc_sync_agent_framework_sync_agent_ds_stop_sync_p(void);
83 //static void utc_sync_agent_framework_sync_agent_ds_free_profile_info_p(void);
84 static void utc_sync_agent_framework_sync_agent_ds_deinit_p(void);
86 static void *_start_test_ds_agent(void *arg);
87 static int (*__get_event_callback(int event_id)) (sync_agent_event_data_s * request, sync_agent_event_data_s * response);
88 static int ___add_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
89 static int ___update_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
90 static int ___delete_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
91 static int ___start_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
92 static int ___stop_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
93 static int ___get_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
94 static int ___get_sync_category_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
95 static int ___get_sync_statistics_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
96 static int ___get_all_profiles_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
97 static int ___default_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response);
99 struct tet_testlist tet_testlist[] = {
100 {utc_sync_agent_framework_sync_agent_sync_agent_ds_init_p, POSITIVE_TC_IDX},
101 {utc_sync_agent_framework_sync_agent_ds_create_profile_info_p, POSITIVE_TC_IDX},
102 {utc_sync_agent_framework_sync_agent_ds_set_profile_name_p, POSITIVE_TC_IDX},
103 {utc_sync_agent_framework_sync_agent_ds_set_server_info_p, POSITIVE_TC_IDX},
104 {utc_sync_agent_framework_sync_agent_ds_set_sync_info_p, POSITIVE_TC_IDX},
105 {utc_sync_agent_framework_sync_agent_ds_set_sync_service_info_p, POSITIVE_TC_IDX},
106 {utc_sync_agent_framework_sync_agent_ds_get_profile_name_p, POSITIVE_TC_IDX},
107 {utc_sync_agent_framework_sync_agent_ds_get_server_info_p, POSITIVE_TC_IDX},
108 {utc_sync_agent_framework_sync_agent_ds_get_sync_info_p, POSITIVE_TC_IDX},
109 {utc_sync_agent_framework_sync_agent_ds_get_sync_service_info_p, POSITIVE_TC_IDX},
110 {utc_sync_agent_framework_sync_agent_ds_get_last_sync_info_p, POSITIVE_TC_IDX},
111 {utc_sync_agent_framework_sync_agent_ds_get_sync_statistics_p, POSITIVE_TC_IDX},
112 {utc_sync_agent_framework_sync_agent_ds_add_profile_p, POSITIVE_TC_IDX},
113 {utc_sync_agent_framework_sync_agent_ds_get_profile_p, POSITIVE_TC_IDX},
114 {utc_sync_agent_framework_sync_agent_ds_get_all_profile_p, POSITIVE_TC_IDX},
115 {utc_sync_agent_framework_sync_agent_ds_update_profile_p, POSITIVE_TC_IDX},
116 {utc_sync_agent_framework_sync_agent_ds_delete_profile_p, POSITIVE_TC_IDX},
117 {utc_sync_agent_framework_sync_agent_ds_start_sync_p, POSITIVE_TC_IDX},
118 {utc_sync_agent_framework_sync_agent_ds_stop_sync_p, POSITIVE_TC_IDX},
119 // { utc_sync_agent_framework_sync_agent_ds_free_profile_info_p, POSITIVE_TC_IDX },
120 {utc_sync_agent_framework_sync_agent_ds_deinit_p, POSITIVE_TC_IDX},
124 static pthread_t test_ds_agent_thread_id;
126 static void startup(void)
129 pthread_create(&test_ds_agent_thread_id, 0, _start_test_ds_agent, 0);
134 static void cleanup(void)
137 pthread_cancel(test_ds_agent_thread_id);
139 sync_agent_stop_main_loop(1);
142 static void utc_sync_agent_framework_sync_agent_sync_agent_ds_init_p(void)
144 char *api_name = API_NAME_SYNC_AGENT_DS_INIT;
145 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
147 ds_err = sync_agent_ds_init();
148 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
151 dts_message(api_name, "sync_agent_ds_init : %d", ds_err);
156 static void utc_sync_agent_framework_sync_agent_ds_create_profile_info_p(void)
158 char *api_name = API_NAME_SYNC_AGENT_DS_CREATE_PROFILE_INFO;
159 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
161 ds_profile_h profile_h = NULL;
163 ds_err = sync_agent_ds_create_profile_info(&profile_h);
164 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
167 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
172 static void utc_sync_agent_framework_sync_agent_ds_set_profile_name_p(void)
174 char *api_name = API_NAME_SYNC_AGENT_DS_SET_PROFILE_NAME;
175 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
177 ds_profile_h profile_h = NULL;
178 char *profile_dir_name = "Sync1";
179 char *profile_name = "profile name";
181 ds_err = sync_agent_ds_create_profile_info(&profile_h);
182 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
183 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
187 ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profile_dir_name);
188 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
191 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
195 ds_err = sync_agent_ds_set_profile_name(profile_h, profile_name);
196 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
199 dts_message(api_name, "sync_agent_ds_set_profile_name : %d", ds_err);
204 static void utc_sync_agent_framework_sync_agent_ds_set_server_info_p(void)
206 char *api_name = API_NAME_SYNC_AGENT_DS_SET_SERVER_INFO;
207 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
209 ds_profile_h profile_h = NULL;
210 char *addr = "http://";
212 char *password = "password";
214 ds_err = sync_agent_ds_create_profile_info(&profile_h);
215 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
216 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
220 ds_err = sync_agent_ds_set_server_info(profile_h, addr, id, password);
221 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
224 dts_message(api_name, "sync_agent_ds_set_server_info : %d", ds_err);
229 static void utc_sync_agent_framework_sync_agent_ds_set_sync_info_p(void)
231 char *api_name = API_NAME_SYNC_AGENT_DS_SET_SYNC_INFO;
232 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
234 ds_profile_h profile_h = NULL;
235 sync_agent_ds_sync_mode_e sync_mode = SYNC_AGENT_SYNC_MODE_PERIODIC;
236 sync_agent_ds_sync_type_e sync_type = SYNC_AGENT_SYNC_TYPE_UPDATE_BOTH;
237 sync_agent_ds_sync_interval_e interval = SYNC_AGENT_SYNC_INTERVAL_1_HOUR;
239 ds_err = sync_agent_ds_create_profile_info(&profile_h);
240 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
241 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
245 ds_err = sync_agent_ds_set_sync_info(profile_h, sync_mode, sync_type, interval);
246 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
249 dts_message(api_name, "sync_agent_ds_set_sync_info : %d", ds_err);
254 static void utc_sync_agent_framework_sync_agent_ds_set_sync_service_info_p(void)
256 char *api_name = API_NAME_SYNC_AGENT_DS_SET_SYNC_SERVICE_INFO;
257 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
259 ds_profile_h profile_h = NULL;
260 sync_agent_ds_service_type_e service_type = SYNC_AGENT_CONTACT;
262 sync_agent_ds_src_uri_e src_uri = SYNC_AGENT_SRC_URI_CONTACT;
263 char *tgt_uri = "card";
265 char *password = "password";
267 ds_err = sync_agent_ds_create_profile_info(&profile_h);
268 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
269 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
273 ds_err = sync_agent_ds_set_sync_service_info(profile_h, service_type, enabled, src_uri, tgt_uri, id, password);
274 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
277 dts_message(api_name, "sync_agent_ds_set_sync_service_info : %d", ds_err);
282 static void utc_sync_agent_framework_sync_agent_ds_get_profile_name_p(void)
284 char *api_name = API_NAME_SYNC_AGENT_DS_GET_PROFILE_NAME;
285 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
287 ds_profile_h profile_h = NULL;
288 char *profile_dir_name = "Sync1";
289 char *get_profile_dir_name = NULL;
290 char *profile_name = NULL;
292 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
293 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
294 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
298 ds_err = sync_agent_ds_get_profile_name(profile_h, &get_profile_dir_name, &profile_name);
299 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
302 dts_message(api_name, "sync_agent_ds_get_profile_name : %d", ds_err);
307 static void utc_sync_agent_framework_sync_agent_ds_get_server_info_p(void)
309 char *api_name = API_NAME_SYNC_AGENT_DS_GET_SERVER_INFO;
310 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
312 ds_profile_h profile_h = NULL;
313 char *profile_dir_name = "Sync1";
314 sync_agent_ds_server_info server_info = { NULL };
316 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
317 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
318 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
322 ds_err = sync_agent_ds_get_server_info(profile_h, &server_info);
323 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
326 dts_message(api_name, "sync_agent_ds_get_server_info : %d", ds_err);
331 static void utc_sync_agent_framework_sync_agent_ds_get_sync_info_p(void)
333 char *api_name = API_NAME_SYNC_AGENT_DS_GET_SYNC_INFO;
334 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
336 ds_profile_h profile_h = NULL;
337 char *profile_dir_name = "Sync1";
338 sync_agent_ds_sync_info sync_info = { NULL };
340 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
341 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
342 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
346 ds_err = sync_agent_ds_get_sync_info(profile_h, &sync_info);
347 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
350 dts_message(api_name, "sync_agent_ds_get_sync_info : %d", ds_err);
355 static void utc_sync_agent_framework_sync_agent_ds_get_sync_service_info_p(void)
357 char *api_name = API_NAME_SYNC_AGENT_DS_GET_SYNC_SERVICE_INFO;
358 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
360 ds_profile_h profile_h = NULL;
361 char *profile_dir_name = "Sync1";
362 GList *service_list = NULL;
364 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
365 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
366 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
370 ds_err = sync_agent_ds_get_sync_service_info(profile_h, &service_list);
371 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
374 dts_message(api_name, "sync_agent_ds_get_sync_service_info : %d", ds_err);
379 static void utc_sync_agent_framework_sync_agent_ds_get_last_sync_info_p(void)
381 char *api_name = API_NAME_SYNC_AGENT_DS_GET_LAST_SYNC_INFO;
382 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
384 ds_profile_h profile_h = NULL;
385 char *profile_dir_name = "Sync1";
386 int last_sync_status = 0;
387 int last_sync_time = 0;
389 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
390 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
391 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
395 ds_err = sync_agent_ds_get_last_sync_info(profile_h, &last_sync_status, &last_sync_time);
396 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
399 dts_message(api_name, "sync_agent_ds_get_last_sync_info : %d", ds_err);
404 static void utc_sync_agent_framework_sync_agent_ds_get_sync_statistics_p(void)
406 char *api_name = API_NAME_SYNC_AGENT_DS_GET_SYNC_STATISTICS;
407 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
409 ds_profile_h profile_h = NULL;
410 char *profile_dir_name = "Sync1";
411 GList *statistics_list = NULL;
413 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
414 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
415 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
419 ds_err = sync_agent_ds_get_sync_statistics(profile_h, &statistics_list);
420 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
423 dts_message(api_name, "sync_agent_ds_get_sync_statistics : %d", ds_err);
428 static void utc_sync_agent_framework_sync_agent_ds_add_profile_p(void)
430 char *api_name = API_NAME_SYNC_AGENT_DS_ADD_PROFILE;
431 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
433 ds_profile_h profile_h = NULL;
434 char *profile_dir_name = "Sync1";
435 char *profile_name = "profile name";
437 char *addr = "http://";
439 char *password = "password";
441 sync_agent_ds_sync_mode_e sync_mode = SYNC_AGENT_SYNC_MODE_PERIODIC;
442 sync_agent_ds_sync_type_e sync_type = SYNC_AGENT_SYNC_TYPE_UPDATE_BOTH;
443 sync_agent_ds_sync_interval_e interval = SYNC_AGENT_SYNC_INTERVAL_1_HOUR;
445 sync_agent_ds_service_type_e service_type = SYNC_AGENT_CONTACT;
447 sync_agent_ds_src_uri_e src_uri = SYNC_AGENT_SRC_URI_CONTACT;
448 char *tgt_uri = "card";
452 ds_err = sync_agent_ds_create_profile_info(&profile_h);
453 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
454 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
458 ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profile_dir_name);
459 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
460 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
464 ds_err = sync_agent_ds_set_profile_name(profile_h, profile_name);
465 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
466 dts_message(api_name, "sync_agent_ds_set_profile_name : %d", ds_err);
470 ds_err = sync_agent_ds_set_server_info(profile_h, addr, id, password);
471 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
472 dts_message(api_name, "sync_agent_ds_set_server_info : %d", ds_err);
476 ds_err = sync_agent_ds_set_sync_info(profile_h, sync_mode, sync_type, interval);
477 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
478 dts_message(api_name, "sync_agent_ds_set_sync_info : %d", ds_err);
482 ds_err = sync_agent_ds_add_profile(profile_h, &profile_id);
483 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
486 dts_message(api_name, "sync_agent_ds_add_profile : %d", ds_err);
491 static void utc_sync_agent_framework_sync_agent_ds_get_profile_p(void)
493 char *api_name = API_NAME_SYNC_AGENT_DS_GET_PROFILE;
494 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
496 ds_profile_h profile_h = NULL;
497 char *profile_dir_name = "Sync1";
499 ds_err = sync_agent_ds_get_profile(profile_dir_name, &profile_h);
500 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
503 dts_message(api_name, "sync_agent_ds_get_profile : %d", ds_err);
508 static void utc_sync_agent_framework_sync_agent_ds_get_all_profile_p(void)
510 char *api_name = API_NAME_SYNC_AGENT_DS_GET_ALL_PROFILE;
511 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
513 GList *profile_list = NULL;
515 ds_err = sync_agent_ds_get_all_profile(&profile_list);
517 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
520 dts_message(api_name, "sync_agent_ds_get_all_profile : %d", ds_err);
525 static void utc_sync_agent_framework_sync_agent_ds_update_profile_p(void)
527 char *api_name = API_NAME_SYNC_AGENT_DS_UPDATE_PROFILE;
528 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
530 ds_profile_h profile_h = NULL;
531 char *profile_dir_name = "Sync1";
532 char *profile_name = "updated profile name";
534 char *addr = "http://";
536 char *password = "password";
538 sync_agent_ds_sync_mode_e sync_mode = SYNC_AGENT_SYNC_MODE_PERIODIC;
539 sync_agent_ds_sync_type_e sync_type = SYNC_AGENT_SYNC_TYPE_UPDATE_BOTH;
540 sync_agent_ds_sync_interval_e interval = SYNC_AGENT_SYNC_INTERVAL_1_HOUR;
542 sync_agent_ds_service_type_e service_type = SYNC_AGENT_CONTACT;
544 sync_agent_ds_src_uri_e src_uri = SYNC_AGENT_SRC_URI_CONTACT;
545 char *tgt_uri = "card";
547 ds_err = sync_agent_ds_create_profile_info(&profile_h);
548 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
549 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
553 ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profile_dir_name);
554 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
555 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
559 ds_err = sync_agent_ds_set_profile_name(profile_h, profile_name);
560 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
561 dts_message(api_name, "sync_agent_ds_set_profile_name : %d", ds_err);
565 ds_err = sync_agent_ds_set_server_info(profile_h, addr, id, password);
566 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
567 dts_message(api_name, "sync_agent_ds_set_server_info : %d", ds_err);
571 ds_err = sync_agent_ds_set_sync_info(profile_h, sync_mode, sync_type, interval);
572 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
573 dts_message(api_name, "sync_agent_ds_set_sync_info : %d", ds_err);
577 ds_err = sync_agent_ds_update_profile(profile_h);
578 sync_agent_ds_free_profile_info(profile_h);
580 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
583 dts_message(api_name, "sync_agent_ds_update_profile : %d", ds_err);
588 static void utc_sync_agent_framework_sync_agent_ds_delete_profile_p(void)
590 char *api_name = API_NAME_SYNC_AGENT_DS_DELETE_PROFILE;
591 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
593 ds_profile_h profile_h = NULL;
594 char *profileDirName = "Sync1";
596 ds_err = sync_agent_ds_create_profile_info(&profile_h);
597 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
598 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
602 ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profileDirName);
603 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
604 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
608 ds_err = sync_agent_ds_delete_profile(profile_h);
609 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
612 dts_message(api_name, "sync_agent_ds_delete_profile : %d", ds_err);
617 static void utc_sync_agent_framework_sync_agent_ds_start_sync_p(void)
619 char *api_name = API_NAME_SYNC_AGENT_DS_START_SYNC;
620 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
622 ds_profile_h profile_h = NULL;
623 char *profileDirName = "Sync1";
625 ds_err = sync_agent_ds_create_profile_info(&profile_h);
626 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
627 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
631 ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profileDirName);
632 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
633 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
637 ds_err = sync_agent_ds_start_sync(profile_h);
638 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
641 dts_message(api_name, "sync_agent_ds_start_sync : %d", ds_err);
646 static void utc_sync_agent_framework_sync_agent_ds_stop_sync_p(void)
648 char *api_name = API_NAME_SYNC_AGENT_DS_STOP_SYNC;
649 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
651 ds_profile_h profile_h = NULL;
652 char *profileDirName = "Sync1";
654 ds_err = sync_agent_ds_create_profile_info(&profile_h);
655 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
656 dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
660 ds_err = sync_agent_ds_set_profile_dir_name(profile_h, profileDirName);
661 if (ds_err != SYNC_AGENT_DS_SUCCESS) {
662 dts_message(api_name, "sync_agent_ds_set_profile_dir_name : %d", ds_err);
666 ds_err = sync_agent_ds_stop_sync(profile_h);
667 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
670 dts_message(api_name, "sync_agent_ds_stop_sync : %d", ds_err);
675 //static void utc_sync_agent_framework_sync_agent_ds_free_profile_info_p(void)
677 // char *api_name = API_NAME_SYNC_AGENT_DS_FREE_PROFILE_INFO;
678 // sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
680 // ds_profile_h profile_h = NULL;
682 // ds_err = sync_agent_ds_create_profile_info(&profile_h);
683 // if (ds_err != SYNC_AGENT_DS_SUCCESS) {
684 // dts_message(api_name, "sync_agent_ds_create_profile_info : %d", ds_err);
685 // dts_fail(api_name);
688 // sync_agent_ds_free_profile_info(profile_h);
691 static void utc_sync_agent_framework_sync_agent_ds_deinit_p(void)
693 char *api_name = API_NAME_SYNC_AGENT_DS_DEINIT;
694 sync_agent_ds_error_e ds_err = SYNC_AGENT_DS_SUCCESS;
696 ds_err = sync_agent_ds_deinit();
697 if (ds_err == SYNC_AGENT_DS_SUCCESS) {
700 dts_message(api_name, "sync_agent_ds_deinit : %d", ds_err);
705 static void *_start_test_ds_agent(void *arg)
707 char *api_name = API_NAME_START_TEST_DS_AGENT;
708 sync_agent_event_error_e event_err = SYNC_AGENT_EVENT_SUCCESS;
709 sync_agent_init_error_e init_error = sync_agent_init(TEST_FW_CONFIG_OMADS_FILE);
710 if (init_error != SYNC_AGENT_INIT_SUCCESS) {
711 dts_message(api_name, "sync_agent_init : %d", init_error);
716 for (event_id = 1; event_id < OMA_DS_EVENT_NUM; event_id++) {
717 event_err = sync_agent_set_event_callback(event_id, __get_event_callback(event_id));
718 if (event_err != SYNC_AGENT_EVENT_SUCCESS) {
719 dts_message(api_name, "sync_agent_set_event_callback : %d", event_err);
724 sync_agent_run_main_loop(1);
727 static int (*__get_event_callback(int event_id)) (sync_agent_event_data_s * request, sync_agent_event_data_s * response) {
728 g_print("%s Start \n", __func__);
732 return ___add_profile_cb;
735 return ___update_profile_cb;
738 return ___delete_profile_cb;
741 return ___start_sync_cb;
744 return ___stop_sync_cb;
747 return ___get_profile_cb;
750 return ___get_sync_category_cb;
753 return ___get_sync_statistics_cb;
756 return ___get_all_profiles_cb;
759 return ___default_cb;
763 g_print("%s End \n", __func__);
766 static int ___add_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
768 g_print("%s Start \n", __func__);
770 int event_result = 1;
771 char *profile_dir_name = NULL;
772 char *profile_name = NULL;
775 char *password = NULL;
776 char *sync_mode = NULL;
777 char *sync_type = NULL;
778 char *interval = NULL;
779 int category_count = 0;
782 sync_agent_get_event_data_param(request, &profile_dir_name);
783 sync_agent_get_event_data_param(request, &profile_name);
784 sync_agent_get_event_data_param(request, &addr);
785 sync_agent_get_event_data_param(request, &id);
786 sync_agent_get_event_data_param(request, &password);
787 sync_agent_get_event_data_param(request, &sync_mode);
788 sync_agent_get_event_data_param(request, &sync_type);
789 sync_agent_get_event_data_param(request, &interval);
790 sync_agent_get_event_data_param(request, &category_count);
793 for (; i < category_count; i++) {
794 sync_agent_ds_service_info *category = NULL;
795 sync_agent_get_event_data_param(request, &(category->service_type));
796 sync_agent_get_event_data_param(request, &(category->enabled));
797 sync_agent_get_event_data_param(request, &(category->src_uri));
798 sync_agent_get_event_data_param(request, &(category->tgt_uri));
799 sync_agent_get_event_data_param(request, &(category->id));
800 sync_agent_get_event_data_param(request, &(category->password));
803 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
804 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &account_id);
806 g_print("%s End \n", __func__);
811 static int ___update_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
813 g_print("%s Start \n", __func__);
815 int event_result = 1;
816 char *profile_dir_name = NULL;
817 char *profile_name = NULL;
820 char *password = NULL;
821 char *sync_mode = NULL;
822 char *sync_type = NULL;
823 char *interval = NULL;
824 int category_count = 0;
826 sync_agent_get_event_data_param(request, &profile_dir_name);
827 sync_agent_get_event_data_param(request, &profile_name);
828 sync_agent_get_event_data_param(request, &addr);
829 sync_agent_get_event_data_param(request, &id);
830 sync_agent_get_event_data_param(request, &password);
831 sync_agent_get_event_data_param(request, &sync_mode);
832 sync_agent_get_event_data_param(request, &sync_type);
833 sync_agent_get_event_data_param(request, &interval);
834 sync_agent_get_event_data_param(request, &category_count);
837 for (; i < category_count; i++) {
838 sync_agent_ds_service_info *category = NULL;
839 sync_agent_get_event_data_param(request, &(category->service_type));
840 sync_agent_get_event_data_param(request, &(category->enabled));
841 sync_agent_get_event_data_param(request, &(category->src_uri));
842 sync_agent_get_event_data_param(request, &(category->tgt_uri));
843 sync_agent_get_event_data_param(request, &(category->id));
844 sync_agent_get_event_data_param(request, &(category->password));
847 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
849 g_print("%s End \n", __func__);
854 static int ___delete_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
856 g_print("%s Start \n", __func__);
858 int event_result = 1;
860 sync_agent_get_event_data_param(request, &count);
863 char *profile = NULL;
864 for (i = 0; i < count; i++) {
865 sync_agent_get_event_data_param(request, &profile);
868 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
870 g_print("%s End \n", __func__);
875 static int ___start_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
877 g_print("%s Start \n", __func__);
879 int event_result = 1;
880 char *profile = NULL;
882 sync_agent_get_event_data_param(request, &profile);
884 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
889 g_print("%s End \n", __func__);
894 static int ___stop_sync_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
896 g_print("%s Start \n", __func__);
898 int event_result = 1;
899 char *profile = NULL;
901 sync_agent_get_event_data_param(request, &profile);
903 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
908 g_print("%s End \n", __func__);
913 static int ___get_profile_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
915 g_print("%s Start \n", __func__);
917 int event_result = 1;
918 char *profile = NULL;
919 char *profile_name = strdup("profile name");
920 char *addr = strdup("addr");
921 char *id = strdup("id");
922 char *password = strdup("password");
923 char *sync_mode = strdup("sync_mode");
924 char *sync_type = strdup("sync_type");
925 char *interval = strdup("interval");
926 int last_session_status = 0;
927 int last_session_time = 0;
929 sync_agent_get_event_data_param(request, &profile);
931 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
932 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_name);
933 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)addr);
934 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
935 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
936 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_mode);
937 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_type);
938 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)interval);
939 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_session_status);
940 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_session_time);
945 g_print("%s End \n", __func__);
950 static int ___get_sync_category_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
952 g_print("%s Start \n", __func__);
954 int event_result = 1;
955 char *profile = NULL;
956 int content_type = 0;
958 char *srcURI = strdup("srcURI");
959 char *tgtURI = strdup("tgtURI");
960 char *id = strdup("id");
961 char *password = strdup("password");
963 sync_agent_get_event_data_param(request, &profile);
964 sync_agent_get_event_data_param(request, &content_type);
966 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
967 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &enabled);
968 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)srcURI);
969 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)tgtURI);
970 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
971 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
976 g_print("%s End \n", __func__);
981 static int ___get_sync_statistics_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
983 g_print("%s Start \n", __func__);
985 int event_result = 1;
986 char *profile = NULL;
987 int content_type = 0;
988 char *dbSynced = strdup("NO");
989 int last_session_time = 0;
990 int server2Client_Total = 0;
991 int server2Client_NrOfAdd = 0;
992 int server2Client_NrOfDelete = 0;
993 int server2Client_NrOfReplace = 0;
994 int client2Server_Total = 0;
995 int client2Server_NrOfAdd = 0;
996 int client2Server_NrOrDelete = 0;
997 int client2Server_NrOfReplace = 0;
999 sync_agent_get_event_data_param(request, &profile);
1000 sync_agent_get_event_data_param(request, &content_type);
1002 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
1003 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)dbSynced);
1004 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_session_time);
1005 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_Total);
1006 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_NrOfAdd);
1007 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_NrOfDelete);
1008 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &server2Client_NrOfReplace);
1009 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_Total);
1010 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_NrOfAdd);
1011 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_NrOrDelete);
1012 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &client2Server_NrOfReplace);
1014 if (profile != NULL)
1017 g_print("%s End \n", __func__);
1022 static int ___get_all_profiles_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
1024 g_print("%s Start \n", __func__);
1026 int event_result = 1;
1027 int profile_count = 1;
1028 int category_count = 1;
1029 sync_agent_ds_service_info *category_info = NULL;
1031 char *profile_dir_name = strdup("profile_dir_name");
1032 char *profile_name = strdup("profile_name");
1033 char *addr = strdup("addr");
1034 char *id = strdup("id");
1035 char *password = strdup("password");
1036 char *sync_mode = strdup("sync_mode");
1037 char *sync_type = strdup("sync_type");
1038 char *interval = strdup("interval");
1039 int last_sync_status = 0;
1040 int last_sync_time = 1;
1041 int service_type = 1;
1043 char *src_uri = strdup("src_uri");
1044 char *tgt_uri = strdup("tgt_uri");
1046 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &event_result);
1047 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &profile_count);
1048 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_dir_name);
1049 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_name);
1050 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)addr);
1051 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
1052 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
1053 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_mode);
1054 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_type);
1055 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)interval);
1056 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_sync_status);
1057 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &last_sync_time);
1059 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &category_count);
1061 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &service_type);
1062 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &enabled);
1063 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)src_uri);
1064 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)tgt_uri);
1065 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)id);
1066 sync_agent_append_event_data_param(response, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)password);
1068 g_print("%s End \n", __func__);
1073 static int ___default_cb(sync_agent_event_data_s * request, sync_agent_event_data_s * response)
1075 g_print("%s Start \n", __func__);
1077 g_print("%s End \n", __func__);