2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <media_content.h>
22 static void startup(void);
23 static void cleanup(void);
25 void (*tet_startup)(void) = startup;
26 void (*tet_cleanup)(void) = cleanup;
29 static void utc_media_playlist_insert_to_db_n(void);
30 static void utc_media_playlist_insert_to_db_p(void);
31 static void utc_media_playlist_delete_from_db_n(void);
32 static void utc_media_playlist_delete_from_db_p(void);
33 static void utc_media_playlist_get_playlist_count_from_db_n(void);
34 static void utc_media_playlist_get_playlist_count_from_db_p(void);
35 static void utc_media_playlist_foreach_playlist_from_db_n(void);
36 static void utc_media_playlist_foreach_playlist_from_db_p(void);
37 static void utc_media_playlist_get_media_count_from_db_n(void);
38 static void utc_media_playlist_get_media_count_from_db_p(void);
39 static void utc_media_playlist_foreach_media_from_db_n(void);
40 static void utc_media_playlist_foreach_media_from_db_p(void);
41 static void utc_media_playlist_destroy_n(void);
42 static void utc_media_playlist_destroy_p(void);
43 static void utc_media_playlist_clone_n(void);
44 static void utc_media_playlist_clone_p(void);
45 static void utc_media_playlist_get_playlist_from_db_n(void);
46 static void utc_media_playlist_get_playlist_from_db_p(void);
47 static void utc_media_playlist_get_playlist_id_n(void);
48 static void utc_media_playlist_get_playlist_id_p(void);
49 static void utc_media_playlist_get_name_n(void);
50 static void utc_media_playlist_get_name_p(void);
51 static void utc_media_playlist_get_play_order_n(void);
52 static void utc_media_playlist_get_play_order_p(void);
53 static void utc_media_playlist_update_to_db_n(void);
54 static void utc_media_playlist_update_to_db_p(void);
55 static void utc_media_playlist_set_name_n(void);
56 static void utc_media_playlist_set_name_p(void);
57 static void utc_media_playlist_set_play_order_n(void);
58 static void utc_media_playlist_set_play_order_p(void);
60 static void utc_media_playlist_add_media_n(void);
61 static void utc_media_playlist_add_media_p(void);
62 static void utc_media_playlist_remove_media_n(void);
63 static void utc_media_playlist_remove_media_p(void);
66 struct tet_testlist tet_testlist[] = {
67 { utc_media_playlist_insert_to_db_n, 1 },
68 { utc_media_playlist_insert_to_db_p, 1 },
69 { utc_media_playlist_get_playlist_count_from_db_n, 4 },
70 { utc_media_playlist_get_playlist_count_from_db_p, 4 },
71 { utc_media_playlist_foreach_playlist_from_db_n, 4 },
72 { utc_media_playlist_foreach_playlist_from_db_p, 4 },
73 { utc_media_playlist_get_media_count_from_db_n, 4 },
74 { utc_media_playlist_get_media_count_from_db_p, 4 },
75 { utc_media_playlist_foreach_media_from_db_n, 4 },
76 { utc_media_playlist_foreach_media_from_db_p, 4 },
77 { utc_media_playlist_get_playlist_from_db_n, 4 },
78 { utc_media_playlist_get_playlist_from_db_p, 4 },
79 { utc_media_playlist_get_playlist_id_n, 4 },
80 { utc_media_playlist_get_playlist_id_p, 4 },
81 { utc_media_playlist_get_name_n, 4 },
82 { utc_media_playlist_get_name_p, 4 },
83 { utc_media_playlist_get_play_order_n, 5 },
84 { utc_media_playlist_get_play_order_p, 5 },
85 { utc_media_playlist_update_to_db_n, 3 },
86 { utc_media_playlist_update_to_db_p, 3 },
87 { utc_media_playlist_set_name_n, 2 },
88 { utc_media_playlist_set_name_p, 2 },
89 { utc_media_playlist_set_play_order_n, 5 },
90 { utc_media_playlist_set_play_order_p, 5 },
91 { utc_media_playlist_add_media_n, 2 },
92 { utc_media_playlist_add_media_p, 2 },
93 { utc_media_playlist_remove_media_n, 6 },
94 { utc_media_playlist_remove_media_p, 6 },
95 { utc_media_playlist_clone_n, 7 },
96 { utc_media_playlist_clone_p, 7 },
97 { utc_media_playlist_delete_from_db_n, 8 },
98 { utc_media_playlist_delete_from_db_p, 8 },
99 { utc_media_playlist_destroy_n, 8 },
100 { utc_media_playlist_destroy_p, 8 },
104 static media_playlist_h g_playlist;
105 static media_playlist_h g_playlist_dst;
107 static filter_h g_filter;
108 static char *g_media_id = NULL;
109 static int g_playlist_id = 0;
110 static int g_playlist_member_id = 0;
112 bool media_item_cb(media_info_h media, void *user_data)
114 int ret = MEDIA_CONTENT_ERROR_NONE;
116 ret = media_info_get_media_id(media, &g_media_id);
117 if((ret != MEDIA_CONTENT_ERROR_NONE) || (g_media_id == NULL))
119 tet_printf("\n get media_id failed");
126 bool playlist_item_cb(int playlist_member_id, media_info_h media, void *user_data)
128 g_playlist_member_id = playlist_member_id;
130 tet_printf("cb - member id : %d", g_playlist_member_id);
134 bool playlist_cb(media_playlist_h playlist, void *user_data)
139 static void startup(void)
142 tet_printf("\n TC start");
144 int ret = media_content_connect();
145 if(ret != MEDIA_CONTENT_ERROR_NONE)
147 tet_printf("\n database connection is failed");
152 tet_printf("\n database connection is success");
155 char *condition = "MEDIA_TYPE=3"; //Music
157 media_filter_create(&g_filter);
158 media_filter_set_condition(g_filter, condition, MEDIA_CONTENT_COLLATE_DEFAULT);
159 //media_filter_set_order(g_filter, MEDIA_CONTENT_ORDER_ASC, "MEDIA_TITLE", MEDIA_CONTENT_COLLATE_DEFAULT);
163 tet_printf("\n filter create failed");
167 ret = media_info_foreach_media_from_db(g_filter, media_item_cb, NULL);
168 if(ret != MEDIA_CONTENT_ERROR_NONE)
170 tet_printf("\n get media_info failed");
174 tet_printf("\n TC start END");
178 static void cleanup(void)
181 tet_printf("\n TC end");
183 if(g_media_id != NULL)
187 media_filter_destroy(g_filter);
189 if(g_playlist != NULL)
190 media_playlist_destroy(g_playlist);
192 int ret = media_content_disconnect();
194 if(ret != MEDIA_CONTENT_ERROR_NONE)
195 tet_printf("\n database disconnection is failed");
197 tet_printf("\n database disconnection is success");
201 static void utc_media_playlist_insert_to_db_n(void)
203 int ret = MEDIA_CONTENT_ERROR_NONE;
205 ret = media_playlist_insert_to_db(NULL, &g_playlist);
207 dts_check_eq("utc_media_playlist_insert_to_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
210 static void utc_media_playlist_insert_to_db_p(void)
212 int ret = MEDIA_CONTENT_ERROR_NONE;
214 ret = media_playlist_insert_to_db("test_playlist_1", &g_playlist);
216 ret = media_playlist_get_playlist_id(g_playlist, &g_playlist_id);
218 dts_check_eq("utc_media_playlist_insert_to_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to insert the playlist");
221 static void utc_media_playlist_delete_from_db_n(void)
223 int ret = MEDIA_CONTENT_ERROR_NONE;
225 ret = media_playlist_delete_from_db(-1);
227 dts_check_eq("utc_media_playlist_delete_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
230 static void utc_media_playlist_delete_from_db_p(void)
232 int ret = MEDIA_CONTENT_ERROR_NONE;
234 ret = media_playlist_delete_from_db(g_playlist_id);
236 dts_check_eq("utc_media_playlist_delete_from_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to delete the playlist");
239 static void utc_media_playlist_get_playlist_count_from_db_n(void)
241 int ret = MEDIA_CONTENT_ERROR_NONE;
243 ret = media_playlist_get_playlist_count_from_db(g_filter, NULL);
245 dts_check_eq("utc_media_playlist_get_playlist_count_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
248 static void utc_media_playlist_get_playlist_count_from_db_p(void)
250 int ret = MEDIA_CONTENT_ERROR_NONE;
251 int playlist_count = 0;
253 ret = media_playlist_get_playlist_count_from_db(g_filter, &playlist_count);
255 dts_check_eq("utc_media_playlist_get_playlist_count_from_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get playlist count");
258 static void utc_media_playlist_foreach_playlist_from_db_n(void)
260 int ret = MEDIA_CONTENT_ERROR_NONE;
262 ret = media_playlist_foreach_playlist_from_db(g_filter, NULL, NULL);
264 dts_check_eq("utc_media_playlist_foreach_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
267 static void utc_media_playlist_foreach_playlist_from_db_p(void)
269 int ret = MEDIA_CONTENT_ERROR_NONE;
271 ret = media_playlist_foreach_playlist_from_db(g_filter, playlist_cb, NULL);
273 dts_check_eq("utc_media_playlist_foreach_from_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get list of playlist");
276 static void utc_media_playlist_get_media_count_from_db_n(void)
278 int ret = MEDIA_CONTENT_ERROR_NONE;
280 ret = media_playlist_get_media_count_from_db(0, g_filter, NULL);
282 dts_check_eq("utc_media_playlist_get_media_count_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
285 static void utc_media_playlist_get_media_count_from_db_p(void)
287 int ret = MEDIA_CONTENT_ERROR_NONE;
290 ret = media_playlist_get_media_count_from_db(g_playlist_id, g_filter, &media_count);
292 dts_check_eq("utc_media_playlist_get_media_count_from_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get the item count");
295 static void utc_media_playlist_foreach_media_from_db_n(void)
297 int ret = MEDIA_CONTENT_ERROR_NONE;
299 ret = media_playlist_foreach_media_from_db(0, g_filter, playlist_item_cb, NULL);
301 dts_check_eq("utc_media_playlist_foreach_media_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
304 static void utc_media_playlist_foreach_media_from_db_p(void)
306 int ret = MEDIA_CONTENT_ERROR_NONE;
308 ret = media_playlist_foreach_media_from_db(g_playlist_id, g_filter, playlist_item_cb, NULL);
310 dts_check_eq("utc_media_playlist_foreach_media_from_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get the list of item");
313 static void utc_media_playlist_destroy_n(void)
315 int ret = MEDIA_CONTENT_ERROR_NONE;
317 ret = media_playlist_destroy(NULL);
319 dts_check_eq("utc_media_playlist_destroy_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
322 static void utc_media_playlist_destroy_p(void)
324 int ret = MEDIA_CONTENT_ERROR_NONE;
326 ret = media_playlist_destroy(g_playlist_dst);
328 dts_check_eq("utc_media_playlist_destroy_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to destory the playlist");
331 static void utc_media_playlist_clone_n(void)
333 int ret = MEDIA_CONTENT_ERROR_NONE;
335 ret = media_playlist_clone(&g_playlist_dst, NULL);
337 dts_check_eq("utc_media_playlist_clone_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
340 static void utc_media_playlist_clone_p(void)
342 int ret = MEDIA_CONTENT_ERROR_NONE;
344 ret = media_playlist_clone(&g_playlist_dst, g_playlist);
346 dts_check_eq("utc_media_playlist_clone_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to clone the playlist");
349 static void utc_media_playlist_get_playlist_from_db_n(void)
351 int ret = MEDIA_CONTENT_ERROR_NONE;
352 media_playlist_h playlist;
354 ret = media_playlist_get_playlist_from_db(0, g_filter, &playlist);
356 dts_check_eq("utc_media_playlist_get_playlist_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
359 static void utc_media_playlist_get_playlist_from_db_p(void)
361 int ret = MEDIA_CONTENT_ERROR_NONE;
362 media_playlist_h playlist;
364 ret = media_playlist_get_playlist_from_db(g_playlist_id, g_filter, &playlist);
366 dts_check_eq("utc_media_playlist_get_playlist_from_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get playlist");
369 static void utc_media_playlist_get_playlist_id_n(void)
371 int ret = MEDIA_CONTENT_ERROR_NONE;
373 ret = media_playlist_get_playlist_id(NULL, NULL);
375 dts_check_eq("utc_media_playlist_get_id_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
378 static void utc_media_playlist_get_playlist_id_p(void)
380 int ret = MEDIA_CONTENT_ERROR_NONE;
383 ret = media_playlist_get_playlist_id(g_playlist, &playlist_id);
385 dts_check_eq("utc_media_playlist_get_id_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get the name of playlist");
388 static void utc_media_playlist_get_name_n(void)
390 int ret = MEDIA_CONTENT_ERROR_NONE;
393 ret = media_playlist_get_name(NULL, &name);
395 dts_check_eq("utc_media_playlist_get_name_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
398 static void utc_media_playlist_get_name_p(void)
400 int ret = MEDIA_CONTENT_ERROR_NONE;
403 ret = media_playlist_get_name(g_playlist, &name);
408 dts_check_eq("utc_media_playlist_get_name_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get the name of playlist");
411 static void utc_media_playlist_get_play_order_n(void)
413 int ret = MEDIA_CONTENT_ERROR_NONE;
415 ret = media_playlist_get_play_order(NULL, g_playlist_member_id, NULL);
417 dts_check_eq("utc_media_playlist_get_play_order_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
420 static void utc_media_playlist_get_play_order_p(void)
422 int ret = MEDIA_CONTENT_ERROR_NONE;
423 int playlist_order = 0;
425 ret = media_playlist_get_play_order(g_playlist, g_playlist_member_id, &playlist_order);
427 dts_check_eq("utc_media_playlist_get_play_order_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to get the name of playlist");
430 static void utc_media_playlist_update_to_db_n(void)
432 int ret = MEDIA_CONTENT_ERROR_NONE;
434 ret = media_playlist_update_to_db(NULL);
436 dts_check_eq("media_playlist_update_to_db", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
439 static void utc_media_playlist_update_to_db_p(void)
441 int ret = MEDIA_CONTENT_ERROR_NONE;
443 ret = media_playlist_update_to_db(g_playlist);
445 dts_check_eq("utc_media_playlist_update_to_db_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to update name of playlist");
448 static void utc_media_playlist_set_name_n(void)
450 int ret = MEDIA_CONTENT_ERROR_NONE;
452 ret = media_playlist_set_name(NULL, NULL);
454 dts_check_eq("utc_media_playlist_set_name_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
457 static void utc_media_playlist_set_name_p(void)
459 int ret = MEDIA_CONTENT_ERROR_NONE;
461 ret = media_playlist_set_name(g_playlist, "myPlaylist");
463 dts_check_eq("utc_media_playlist_set_name_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to set name of playlist");
466 static void utc_media_playlist_set_play_order_n(void)
468 int ret = MEDIA_CONTENT_ERROR_NONE;
470 ret = media_playlist_set_play_order(NULL, g_playlist_member_id, 3);
472 dts_check_eq("utc_media_playlist_set_name_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
475 static void utc_media_playlist_set_play_order_p(void)
477 int ret = MEDIA_CONTENT_ERROR_NONE;
479 ret = media_playlist_set_play_order(g_playlist, g_playlist_member_id, 3);
481 dts_check_eq("utc_media_playlist_set_play_order_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to set name of playlist");
484 static void utc_media_playlist_add_media_n(void)
486 int ret = MEDIA_CONTENT_ERROR_NONE;
488 ret = media_playlist_add_media(NULL, g_media_id);
490 dts_check_eq("utc_media_playlist_add_media_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
493 static void utc_media_playlist_add_media_p(void)
495 int ret = MEDIA_CONTENT_ERROR_NONE;
497 ret = media_playlist_add_media(g_playlist, g_media_id);
499 dts_check_eq("utc_media_playlist_add_media_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to add the item to playlist");
502 static void utc_media_playlist_remove_media_n(void)
504 int ret = MEDIA_CONTENT_ERROR_NONE;
506 tet_printf("member id : %d", g_playlist_member_id);
507 ret = media_playlist_remove_media(NULL, g_playlist_member_id);
509 dts_check_eq("utc_media_playlist_remove_media_from_db_n", ret, MEDIA_CONTENT_ERROR_INVALID_PARAMETER, "Must return MEDIA_CONTENT_ERROR_INVALID_PARAMETER in case of invalid parameter");
512 static void utc_media_playlist_remove_media_p(void)
514 int ret = MEDIA_CONTENT_ERROR_NONE;
516 ret = media_playlist_remove_media(g_playlist, g_playlist_member_id);
518 dts_check_eq("utc_media_playlist_remove_media_p", ret, MEDIA_CONTENT_ERROR_NONE, "Failed to remove the item in playlist");