Tizen 2.1 base
[platform/core/security/drm-client.git] / TC / unit / utc_drmclient_drm_get_content_info_func.c
1 /*\r
2  * drm-client TCs\r
3  *\r
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
5  *\r
6  * Contact: Hakjoo Ko <hakjoo.ko@samsung.com>\r
7  *                      Mahendra Kumar Prajapat <mahendra.p@samsung.com>\r
8  *                      Harsha Shekar <h.shekar@samsung.com>\r
9  *\r
10  *\r
11  * Licensed under the Apache License, Version 2.0 (the "License");\r
12  * you may not use this file except in compliance with the License.\r
13  * You may obtain a copy of the License at\r
14  *\r
15  * http://www.apache.org/licenses/LICENSE-2.0\r
16  *\r
17  * Unless required by applicable law or agreed to in writing, software\r
18  * distributed under the License is distributed on an "AS IS" BASIS,\r
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
20  * See the License for the specific language governing permissions and\r
21  * limitations under the License.\r
22  *\r
23  */\r
24 \r
25 /**\r
26  * @file                utc_drmclient_drm_get_content_info_func.c\r
27  * @brief       TETware unit testing functions for drm_get_content_info.\r
28  * @author      Mahendra Kumar Prajapat (mahendra.p@samsung.com)\r
29  * @version     0.1\r
30  * @history     0.1: Initial draft\r
31  */\r
32 \r
33 #include <tet_api.h>\r
34 #include "drmcontentsdef.h"\r
35 \r
36 static void startup(void);\r
37 static void cleanup(void);\r
38 \r
39 void (*tet_startup)(void) = startup;\r
40 void (*tet_cleanup)(void) = cleanup;\r
41 \r
42 static void utc_drmclient_drm_get_content_info_func_01(void);\r
43 static void utc_drmclient_drm_get_content_info_func_02(void);\r
44 static void utc_drmclient_drm_get_content_info_func_03(void);\r
45 static void utc_drmclient_drm_get_content_info_func_04(void);\r
46 static void utc_drmclient_drm_get_content_info_func_05(void);\r
47 static void utc_drmclient_drm_get_content_info_func_06(void);\r
48 static void utc_drmclient_drm_get_content_info_func_07(void);\r
49 \r
50 enum {\r
51         POSITIVE_TC_IDX = 0x01,\r
52         NEGATIVE_TC_IDX,\r
53 };\r
54 \r
55 struct tet_testlist tet_testlist[] = {\r
56         { utc_drmclient_drm_get_content_info_func_01, POSITIVE_TC_IDX },\r
57         { utc_drmclient_drm_get_content_info_func_02, POSITIVE_TC_IDX },\r
58         { utc_drmclient_drm_get_content_info_func_03, POSITIVE_TC_IDX },\r
59         { utc_drmclient_drm_get_content_info_func_04, POSITIVE_TC_IDX },\r
60         { utc_drmclient_drm_get_content_info_func_05, NEGATIVE_TC_IDX },\r
61         { utc_drmclient_drm_get_content_info_func_06, NEGATIVE_TC_IDX },\r
62         { utc_drmclient_drm_get_content_info_func_07, NEGATIVE_TC_IDX },\r
63         { NULL, 0 }\r
64 };\r
65 \r
66 static void startup(void)\r
67 {\r
68         tet_infoline("drm_get_content_info:Test started");\r
69 }\r
70 \r
71 static void cleanup(void)\r
72 {\r
73         tet_infoline("drm_get_content_info:Test completed");\r
74 }\r
75 \r
76 /**\r
77  * @brief Positive test case of drm_get_content_info()\r
78  */\r
79 static void utc_drmclient_drm_get_content_info_func_01(void)\r
80 {\r
81         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
82         drm_content_info_s content_info;\r
83         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
84         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_1);\r
85 \r
86         ret = drm_get_content_info(file_path,&content_info);\r
87         if(DRM_RETURN_SUCCESS == ret){\r
88                         tet_infoline("drm_get_content_info PASS!!!");\r
89                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_1);\r
90                         tet_printf ("ret = 0x%x",ret);\r
91                         if('\0' != content_info.author[0]) tet_printf("author=%s",content_info.author);\r
92                         if('\0' != content_info.copyright[0]) tet_printf("copyright=%s",content_info.copyright);\r
93                         if('\0' != content_info.description[0]) tet_printf("description=%s",content_info.description);\r
94                         if('\0' != content_info.icon_uri[0]) tet_printf("icon_uri=%s",content_info.icon_uri);\r
95                         if('\0' != content_info.info_url[0]) tet_printf("info_url=%s",content_info.info_url);\r
96                         if('\0' != content_info.content_url[0]) tet_printf("content_url=%s",content_info.content_url);\r
97                         if('\0' != content_info.rights_url[0]) tet_printf("rights_url=%s",content_info.rights_url);\r
98                         if('\0' != content_info.title[0]) tet_printf("title=%s",content_info.title);\r
99                         if('\0' != content_info.mime_type[0]) tet_printf("mime_type=%s",content_info.mime_type);\r
100                         if('\0' != content_info.content_id[0]) tet_printf("content_id=%s",content_info.content_id);\r
101                         tet_result(TET_PASS);\r
102         }else{\r
103                         tet_infoline("drm_get_content_info FAIL!!!");\r
104                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_1);\r
105                         tet_printf ("ret = 0x%x",ret);\r
106                         tet_result(TET_FAIL);\r
107         }\r
108 }\r
109 \r
110 /**\r
111  * @brief Positive test case of drm_get_content_info()\r
112  */\r
113 static void utc_drmclient_drm_get_content_info_func_02(void)\r
114 {\r
115         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
116         drm_content_info_s content_info;\r
117         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
118         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_2);\r
119 \r
120         ret = drm_get_content_info(file_path,&content_info);\r
121         if(DRM_RETURN_SUCCESS == ret){\r
122                         tet_infoline("drm_get_content_info PASS!!!");\r
123                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_2);\r
124                         tet_printf ("ret = 0x%x",ret);\r
125                         if('\0' != content_info.author[0]) tet_printf("author=%s",content_info.author);\r
126                         if('\0' != content_info.copyright[0]) tet_printf("copyright=%s",content_info.copyright);\r
127                         if('\0' != content_info.description[0]) tet_printf("description=%s",content_info.description);\r
128                         if('\0' != content_info.icon_uri[0]) tet_printf("icon_uri=%s",content_info.icon_uri);\r
129                         if('\0' != content_info.info_url[0]) tet_printf("info_url=%s",content_info.info_url);\r
130                         if('\0' != content_info.content_url[0]) tet_printf("content_url=%s",content_info.content_url);\r
131                         if('\0' != content_info.rights_url[0]) tet_printf("rights_url=%s",content_info.rights_url);\r
132                         if('\0' != content_info.title[0]) tet_printf("title=%s",content_info.title);\r
133                         if('\0' != content_info.mime_type[0]) tet_printf("mime_type=%s",content_info.mime_type);\r
134                         if('\0' != content_info.content_id[0]) tet_printf("content_id=%s",content_info.content_id);\r
135                         tet_result(TET_PASS);\r
136         }else{\r
137                         tet_infoline("drm_get_content_info FAIL!!!");\r
138                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_2);\r
139                         tet_printf ("ret = 0x%x",ret);\r
140                         tet_result(TET_FAIL);\r
141         }\r
142 }\r
143 \r
144 /**\r
145  * @brief Positive test case of drm_get_content_info()\r
146  */\r
147 static void utc_drmclient_drm_get_content_info_func_03(void)\r
148 {\r
149         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
150         drm_content_info_s content_info;\r
151         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
152         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_3);\r
153 \r
154         ret = drm_get_content_info(file_path,&content_info);\r
155         if(DRM_RETURN_SUCCESS == ret){\r
156                         tet_infoline("drm_get_content_info PASS!!!");\r
157                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_3);\r
158                         tet_printf ("ret = 0x%x",ret);\r
159                         if('\0' != content_info.author[0]) tet_printf("author=%s",content_info.author);\r
160                         if('\0' != content_info.copyright[0]) tet_printf("copyright=%s",content_info.copyright);\r
161                         if('\0' != content_info.description[0]) tet_printf("description=%s",content_info.description);\r
162                         if('\0' != content_info.icon_uri[0]) tet_printf("icon_uri=%s",content_info.icon_uri);\r
163                         if('\0' != content_info.info_url[0]) tet_printf("info_url=%s",content_info.info_url);\r
164                         if('\0' != content_info.content_url[0]) tet_printf("content_url=%s",content_info.content_url);\r
165                         if('\0' != content_info.rights_url[0]) tet_printf("rights_url=%s",content_info.rights_url);\r
166                         if('\0' != content_info.title[0]) tet_printf("title=%s",content_info.title);\r
167                         if('\0' != content_info.mime_type[0]) tet_printf("mime_type=%s",content_info.mime_type);\r
168                         if('\0' != content_info.content_id[0]) tet_printf("content_id=%s",content_info.content_id);\r
169                         tet_result(TET_PASS);\r
170         }else{\r
171                         tet_infoline("drm_get_content_info FAIL!!!");\r
172                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_3);\r
173                         tet_printf ("ret = 0x%x",ret);\r
174                         tet_result(TET_FAIL);\r
175         }\r
176 }\r
177 \r
178 /**\r
179  * @brief Positive test case of drm_get_content_info()\r
180  */\r
181 static void utc_drmclient_drm_get_content_info_func_04(void)\r
182 {\r
183         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
184         drm_content_info_s content_info;\r
185         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
186         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_4);\r
187 \r
188         ret = drm_get_content_info(file_path,&content_info);\r
189         if(DRM_RETURN_SUCCESS == ret){\r
190                         tet_infoline("drm_get_content_info PASS!!!");\r
191                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_4);\r
192                         tet_printf ("ret = 0x%x",ret);\r
193                         if('\0' != content_info.author[0]) tet_printf("author=%s",content_info.author);\r
194                         if('\0' != content_info.copyright[0]) tet_printf("copyright=%s",content_info.copyright);\r
195                         if('\0' != content_info.description[0]) tet_printf("description=%s",content_info.description);\r
196                         if('\0' != content_info.icon_uri[0]) tet_printf("icon_uri=%s",content_info.icon_uri);\r
197                         if('\0' != content_info.info_url[0]) tet_printf("info_url=%s",content_info.info_url);\r
198                         if('\0' != content_info.content_url[0]) tet_printf("content_url=%s",content_info.content_url);\r
199                         if('\0' != content_info.rights_url[0]) tet_printf("rights_url=%s",content_info.rights_url);\r
200                         if('\0' != content_info.title[0]) tet_printf("title=%s",content_info.title);\r
201                         if('\0' != content_info.mime_type[0]) tet_printf("mime_type=%s",content_info.mime_type);\r
202                         if('\0' != content_info.content_id[0]) tet_printf("content_id=%s",content_info.content_id);\r
203                         tet_result(TET_PASS);\r
204         }else{\r
205                         tet_infoline("drm_get_content_info FAIL!!!");\r
206                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_4);\r
207                         tet_printf ("ret = 0x%x",ret);\r
208                         tet_result(TET_FAIL);\r
209         }\r
210 }\r
211 \r
212 /**\r
213  * @brief Negative test case of drm_get_content_info()\r
214  */\r
215 \r
216 static void utc_drmclient_drm_get_content_info_func_05(void)\r
217 {\r
218         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
219         drm_content_info_s content_info;\r
220 \r
221         ret = drm_get_content_info(FILE_PATH_INVALID_FILE_NULL,&content_info);\r
222         if(DRM_RETURN_SUCCESS != ret){\r
223                         tet_infoline("drm_get_content_info PASS!!!");\r
224                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_NULL);\r
225                         tet_printf ("ret = 0x%x",ret);\r
226                         tet_result(TET_PASS);\r
227         }else{\r
228                         tet_infoline("drm_get_content_info FAIL!!!");\r
229                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_NULL);\r
230                         tet_printf ("ret = 0x%x",ret);\r
231                         tet_result(TET_FAIL);\r
232         }\r
233 }\r
234 \r
235 /**\r
236  * @brief Negative test case of drm_get_content_info()\r
237  */\r
238 \r
239 static void utc_drmclient_drm_get_content_info_func_06(void)\r
240 {\r
241         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
242         drm_content_info_s content_info;\r
243         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
244 \r
245         ret = drm_get_content_info(file_path,&content_info);\r
246         if(DRM_RETURN_SUCCESS != ret){\r
247                         tet_infoline("drm_get_content_info PASS!!!");\r
248                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_EMPTY);\r
249                         tet_printf ("ret = 0x%x",ret);\r
250                         tet_result(TET_PASS);\r
251         }else{\r
252                         tet_infoline("drm_get_content_info FAIL!!!");\r
253                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_EMPTY);\r
254                         tet_printf ("ret = 0x%x",ret);\r
255                         tet_result(TET_FAIL);\r
256         }\r
257 }\r
258 \r
259 /**\r
260  * @brief Negative test case of drm_get_content_info()\r
261  */\r
262 \r
263 static void utc_drmclient_drm_get_content_info_func_07(void)\r
264 {\r
265         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
266         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
267         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_INVALID_FILE_DIVX_1);\r
268 \r
269         ret = drm_get_content_info(file_path,INVALID_POINTER_OBJECT);\r
270         if(DRM_RETURN_SUCCESS != ret){\r
271                         tet_infoline("drm_get_content_info PASS!!!");\r
272                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_DIVX_1);\r
273                         tet_printf ("ret = 0x%x",ret);\r
274                         tet_result(TET_PASS);\r
275         }else{\r
276                         tet_infoline("drm_get_content_info FAIL!!!");\r
277                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_DIVX_1);\r
278                         tet_printf ("ret =%d",ret);\r
279                         tet_result(TET_FAIL);\r
280         }\r
281 }\r