Tizen 2.1 base
[platform/core/security/drm-client.git] / TC / unit / utc_drmclient_drm_get_file_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_file_info_func.c\r
27  * @brief       TETware unit testing functions for drm_get_file_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_file_info_func_01(void);\r
43 static void utc_drmclient_drm_get_file_info_func_02(void);\r
44 static void utc_drmclient_drm_get_file_info_func_03(void);\r
45 static void utc_drmclient_drm_get_file_info_func_04(void);\r
46 static void utc_drmclient_drm_get_file_info_func_05(void);\r
47 static void utc_drmclient_drm_get_file_info_func_06(void);\r
48 static void utc_drmclient_drm_get_file_info_func_07(void);\r
49 static void utc_drmclient_drm_get_file_info_func_08(void);\r
50 static void utc_drmclient_drm_get_file_info_func_09(void);\r
51 \r
52 enum {\r
53         POSITIVE_TC_IDX = 0x01,\r
54         NEGATIVE_TC_IDX,\r
55 };\r
56 \r
57 struct tet_testlist tet_testlist[] = {\r
58         { utc_drmclient_drm_get_file_info_func_01, POSITIVE_TC_IDX },\r
59         { utc_drmclient_drm_get_file_info_func_02, POSITIVE_TC_IDX },\r
60         { utc_drmclient_drm_get_file_info_func_03, POSITIVE_TC_IDX },\r
61         { utc_drmclient_drm_get_file_info_func_04, POSITIVE_TC_IDX },\r
62         { utc_drmclient_drm_get_file_info_func_05, POSITIVE_TC_IDX },\r
63         { utc_drmclient_drm_get_file_info_func_06, POSITIVE_TC_IDX },\r
64         { utc_drmclient_drm_get_file_info_func_07, NEGATIVE_TC_IDX },\r
65         { utc_drmclient_drm_get_file_info_func_08, NEGATIVE_TC_IDX },\r
66         { utc_drmclient_drm_get_file_info_func_09, NEGATIVE_TC_IDX },\r
67         { NULL, 0 }\r
68 };\r
69 \r
70 static void startup(void)\r
71 {\r
72         tet_infoline("drm_get_file_info:Test started");\r
73 }\r
74 \r
75 static void cleanup(void)\r
76 {\r
77         tet_infoline("drm_get_file_info:Test completed");\r
78 }\r
79 \r
80 /**\r
81  * @brief Positive test case of drm_get_file_info()\r
82  */\r
83 static void utc_drmclient_drm_get_file_info_func_01(void)\r
84 {\r
85         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
86         drm_file_info_s fileInfo;\r
87         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
88         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_1);\r
89 \r
90         ret = drm_get_file_info(file_path,&fileInfo);\r
91         if(DRM_RETURN_SUCCESS == ret){\r
92                         tet_infoline("drm_get_file_info PASS!!!");\r
93                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_1);\r
94                         if(DRM_METHOD_TYPE_UNDEFINED != fileInfo.oma_info.method){\r
95                                 tet_printf("method=%d",fileInfo.oma_info.method);\r
96                                 tet_printf("version=%d",fileInfo.oma_info.version);\r
97                         }else if(0 != fileInfo.pr_env_info.org_file_size){\r
98                                 tet_printf("PlayReady Envelope File");\r
99                                 tet_printf("org_file_name=%s",fileInfo.pr_env_info.org_file_name);\r
100                                 tet_printf("org_file_size=%d",fileInfo.pr_env_info.org_file_size);\r
101                         }else{\r
102                                 tet_printf("Other DRM File=%s",file_path);\r
103                         }\r
104                         tet_printf ("ret = 0x%x",ret);\r
105                         tet_result(TET_PASS);\r
106         }else{\r
107                         tet_infoline("drm_get_file_info FAIL!!!");\r
108                         tet_printf ("file_path=%s",FILE_PATH_VALID_FILE_OMA_1);\r
109                         tet_printf ("ret = 0x%x",ret);\r
110                         tet_result(TET_FAIL);\r
111         }\r
112 }\r
113 \r
114 /**\r
115  * @brief Positive test case of drm_get_file_info()\r
116  */\r
117 static void utc_drmclient_drm_get_file_info_func_02(void)\r
118 {\r
119         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
120         drm_file_info_s fileInfo;\r
121         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
122         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_2);\r
123 \r
124         ret = drm_get_file_info(file_path,&fileInfo);\r
125         if(DRM_RETURN_SUCCESS == ret){\r
126                         tet_infoline("drm_get_file_info PASS!!!");\r
127                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_2);\r
128                         if(DRM_METHOD_TYPE_UNDEFINED != fileInfo.oma_info.method){\r
129                                 tet_printf("method=%d",fileInfo.oma_info.method);\r
130                                 tet_printf("version=%d",fileInfo.oma_info.version);\r
131                         }else if(0 != fileInfo.pr_env_info.org_file_size){\r
132                                 tet_printf("PlayReady Envelope File");\r
133                                 tet_printf("org_file_name=%s",fileInfo.pr_env_info.org_file_name);\r
134                                 tet_printf("org_file_size=%d",fileInfo.pr_env_info.org_file_size);\r
135                         }else{\r
136                                 tet_printf("Other DRM File=%s",file_path);\r
137                         }\r
138                         tet_printf ("ret = 0x%x",ret);\r
139                         tet_result(TET_PASS);\r
140         }else{\r
141                         tet_infoline("drm_get_file_info FAIL!!!");\r
142                         tet_printf ("file_path=%s",FILE_PATH_VALID_FILE_OMA_2);\r
143                         tet_printf ("ret = 0x%x",ret);\r
144                         tet_result(TET_FAIL);\r
145         }\r
146 }\r
147 \r
148 /**\r
149  * @brief Positive test case of drm_get_file_info()\r
150  */\r
151 static void utc_drmclient_drm_get_file_info_func_03(void)\r
152 {\r
153         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
154         drm_file_info_s fileInfo;\r
155         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
156         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_3);\r
157 \r
158         ret = drm_get_file_info(file_path,&fileInfo);\r
159         if(DRM_RETURN_SUCCESS == ret){\r
160                         tet_infoline("drm_get_file_info PASS!!!");\r
161                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_3);\r
162                         if(DRM_METHOD_TYPE_UNDEFINED != fileInfo.oma_info.method){\r
163                                 tet_printf("method=%d",fileInfo.oma_info.method);\r
164                                 tet_printf("version=%d",fileInfo.oma_info.version);\r
165                         }else if(0 != fileInfo.pr_env_info.org_file_size){\r
166                                 tet_printf("PlayReady Envelope File");\r
167                                 tet_printf("org_file_name=%s",fileInfo.pr_env_info.org_file_name);\r
168                                 tet_printf("org_file_size=%d",fileInfo.pr_env_info.org_file_size);\r
169                         }else{\r
170                                 tet_printf("Other DRM File=%s",file_path);\r
171                         }\r
172                         tet_printf ("ret = 0x%x",ret);\r
173                         tet_result(TET_PASS);\r
174         }else{\r
175                         tet_infoline("drm_get_file_info FAIL!!!");\r
176                         tet_printf ("file_path=%s",FILE_PATH_VALID_FILE_OMA_3);\r
177                         tet_printf ("ret = 0x%x",ret);\r
178                         tet_result(TET_FAIL);\r
179         }\r
180 }\r
181 \r
182 /**\r
183  * @brief Positive test case of drm_get_file_info()\r
184  */\r
185 static void utc_drmclient_drm_get_file_info_func_04(void)\r
186 {\r
187         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
188         drm_file_info_s fileInfo;\r
189         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
190         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_4);\r
191 \r
192         ret = drm_get_file_info(file_path,&fileInfo);\r
193         if(DRM_RETURN_SUCCESS == ret){\r
194                         tet_infoline("drm_get_file_info PASS!!!");\r
195                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_4);\r
196                         if(DRM_METHOD_TYPE_UNDEFINED != fileInfo.oma_info.method){\r
197                                 tet_printf("method=%d",fileInfo.oma_info.method);\r
198                                 tet_printf("version=%d",fileInfo.oma_info.version);\r
199                         }else if(0 != fileInfo.pr_env_info.org_file_size){\r
200                                 tet_printf("PlayReady Envelope File");\r
201                                 tet_printf("org_file_name=%s",fileInfo.pr_env_info.org_file_name);\r
202                                 tet_printf("org_file_size=%d",fileInfo.pr_env_info.org_file_size);\r
203                         }else{\r
204                                 tet_printf("Other DRM File=%s",file_path);\r
205                         }\r
206                         tet_printf ("ret = 0x%x",ret);\r
207                         tet_result(TET_PASS);\r
208         }else{\r
209                         tet_infoline("drm_get_file_info FAIL!!!");\r
210                         tet_printf ("file_path=%s",FILE_PATH_VALID_FILE_OMA_4);\r
211                         tet_printf ("ret = 0x%x",ret);\r
212                         tet_result(TET_FAIL);\r
213         }\r
214 }\r
215 \r
216 /**\r
217  * @brief Positive test case of drm_get_file_info()\r
218  */\r
219 static void utc_drmclient_drm_get_file_info_func_05(void)\r
220 {\r
221         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
222         drm_file_info_s fileInfo;\r
223         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
224         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_PR_ENV_1);\r
225 \r
226         ret = drm_get_file_info(file_path,&fileInfo);\r
227         if(DRM_RETURN_SUCCESS == ret){\r
228                         tet_infoline("drm_get_file_info PASS!!!");\r
229                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_ENV_1);\r
230                         if(DRM_METHOD_TYPE_UNDEFINED != fileInfo.oma_info.method){\r
231                                 tet_printf("method=%d",fileInfo.oma_info.method);\r
232                                 tet_printf("version=%d",fileInfo.oma_info.version);\r
233                         }else if(0 != fileInfo.pr_env_info.org_file_size){\r
234                                 tet_printf("PlayReady Envelope File");\r
235                                 tet_printf("org_file_name=%s",fileInfo.pr_env_info.org_file_name);\r
236                                 tet_printf("org_file_size=%d",fileInfo.pr_env_info.org_file_size);\r
237                         }else{\r
238                                 tet_printf("Other DRM File=%s",file_path);\r
239                         }\r
240                         tet_printf ("ret = 0x%x",ret);\r
241                         tet_result(TET_PASS);\r
242         }else{\r
243                         tet_infoline("drm_get_file_info FAIL!!!");\r
244                         tet_printf ("file_path=%s",FILE_PATH_VALID_FILE_PR_ENV_1);\r
245                         tet_printf ("ret = 0x%x",ret);\r
246                         tet_result(TET_FAIL);\r
247         }\r
248 }\r
249 \r
250 /**\r
251  * @brief Positive test case of drm_get_file_info()\r
252  */\r
253 static void utc_drmclient_drm_get_file_info_func_06(void)\r
254 {\r
255         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
256         drm_file_info_s fileInfo;\r
257         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
258         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_PR_ENV_2);\r
259 \r
260         ret = drm_get_file_info(file_path,&fileInfo);\r
261         if(DRM_RETURN_SUCCESS == ret){\r
262                         tet_infoline("drm_get_file_info PASS!!!");\r
263                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_ENV_2);\r
264                         if(DRM_METHOD_TYPE_UNDEFINED != fileInfo.oma_info.method){\r
265                                 tet_printf("method=%d",fileInfo.oma_info.method);\r
266                                 tet_printf("version=%d",fileInfo.oma_info.version);\r
267                         }else if(0 != fileInfo.pr_env_info.org_file_size){\r
268                                 tet_printf("PlayReady Envelope File");\r
269                                 tet_printf("org_file_name=%s",fileInfo.pr_env_info.org_file_name);\r
270                                 tet_printf("org_file_size=%d",fileInfo.pr_env_info.org_file_size);\r
271                         }else{\r
272                                 tet_printf("Other DRM File=%s",file_path);\r
273                         }\r
274                         tet_printf ("ret = 0x%x",ret);\r
275                         tet_result(TET_PASS);\r
276         }else{\r
277                         tet_infoline("drm_get_file_info FAIL!!!");\r
278                         tet_printf ("file_path=%s",FILE_PATH_VALID_FILE_PR_ENV_2);\r
279                         tet_printf ("ret = 0x%x",ret);\r
280                         tet_result(TET_FAIL);\r
281         }\r
282 }\r
283 \r
284 /**\r
285  * @brief Negative test case of drm_get_file_info()\r
286  */\r
287 \r
288 static void utc_drmclient_drm_get_file_info_func_07(void)\r
289 {\r
290         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
291         drm_file_info_s fileInfo;\r
292 \r
293         ret = drm_get_file_info(FILE_PATH_INVALID_FILE_NULL,&fileInfo);\r
294         if(DRM_RETURN_SUCCESS != ret){\r
295                         tet_infoline("drm_get_file_info PASS!!!");\r
296                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_NULL);\r
297                         tet_printf ("ret = 0x%x",ret);\r
298                         tet_result(TET_PASS);\r
299         }else{\r
300                         tet_infoline("drm_get_file_info FAIL!!!");\r
301                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_NULL);\r
302                         tet_printf ("ret = 0x%x",ret);\r
303                         tet_result(TET_FAIL);\r
304         }\r
305 }\r
306 \r
307 /**\r
308  * @brief Negative test case of drm_get_file_info()\r
309  */\r
310 \r
311 static void utc_drmclient_drm_get_file_info_func_08(void)\r
312 {\r
313         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
314         drm_file_info_s fileInfo;\r
315         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
316         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_INVALID_FILE_EMPTY);\r
317 \r
318         ret = drm_get_file_info(file_path,&fileInfo);\r
319         if(DRM_RETURN_SUCCESS != ret){\r
320                         tet_infoline("drm_get_file_info PASS!!!");\r
321                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_EMPTY);\r
322                         tet_printf ("ret = 0x%x",ret);\r
323                         tet_result(TET_PASS);\r
324         }else{\r
325                         tet_infoline("drm_get_file_info FAIL!!!");\r
326                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_EMPTY);\r
327                         tet_printf ("ret = 0x%x",ret);\r
328                         tet_result(TET_FAIL);\r
329         }\r
330 }\r
331 \r
332 /**\r
333  * @brief Negative test case of drm_get_file_info()\r
334  */\r
335 \r
336 static void utc_drmclient_drm_get_file_info_func_09(void)\r
337 {\r
338         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
339         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
340         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_PR_ENV_1);\r
341 \r
342         ret = drm_get_file_info(file_path,INVALID_POINTER_OBJECT);\r
343         if(DRM_RETURN_SUCCESS != ret){\r
344                         tet_infoline("drm_get_file_info PASS!!!");\r
345                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_ENV_1);\r
346                         tet_printf ("ret = 0x%x",ret);\r
347                         tet_result(TET_PASS);\r
348         }else{\r
349                         tet_infoline("drm_get_file_info FAIL!!!");\r
350                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_ENV_1);\r
351                         tet_printf ("ret = 0x%x",ret);\r
352                         tet_result(TET_FAIL);\r
353         }\r
354 }\r