upload source
[framework/security/drm-client.git] / TC / unit / utc_drmclient_drm_get_license_status_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_license_status_func.c\r
27  * @brief       TETware unit testing functions for drm_get_license_status.\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_license_status_func_01(void);\r
43 static void utc_drmclient_drm_get_license_status_func_02(void);\r
44 static void utc_drmclient_drm_get_license_status_func_03(void);\r
45 static void utc_drmclient_drm_get_license_status_func_04(void);\r
46 static void utc_drmclient_drm_get_license_status_func_05(void);\r
47 static void utc_drmclient_drm_get_license_status_func_06(void);\r
48 static void utc_drmclient_drm_get_license_status_func_07(void);\r
49 static void utc_drmclient_drm_get_license_status_func_08(void);\r
50 static void utc_drmclient_drm_get_license_status_func_09(void);\r
51 static void utc_drmclient_drm_get_license_status_func_10(void);\r
52 \r
53 enum {\r
54         POSITIVE_TC_IDX = 0x01,\r
55         NEGATIVE_TC_IDX,\r
56 };\r
57 \r
58 struct tet_testlist tet_testlist[] = {\r
59         { utc_drmclient_drm_get_license_status_func_01, POSITIVE_TC_IDX },\r
60         { utc_drmclient_drm_get_license_status_func_02, POSITIVE_TC_IDX },\r
61         { utc_drmclient_drm_get_license_status_func_03, POSITIVE_TC_IDX },\r
62         { utc_drmclient_drm_get_license_status_func_04, POSITIVE_TC_IDX },\r
63         { utc_drmclient_drm_get_license_status_func_05, POSITIVE_TC_IDX },\r
64         { utc_drmclient_drm_get_license_status_func_06, POSITIVE_TC_IDX },\r
65         { utc_drmclient_drm_get_license_status_func_07, NEGATIVE_TC_IDX },\r
66         { utc_drmclient_drm_get_license_status_func_08, NEGATIVE_TC_IDX },\r
67         { utc_drmclient_drm_get_license_status_func_09, NEGATIVE_TC_IDX },\r
68         { utc_drmclient_drm_get_license_status_func_10, NEGATIVE_TC_IDX },\r
69         { NULL, 0 }\r
70 };\r
71 \r
72 static void startup(void)\r
73 {\r
74         tet_infoline("drm_get_license_status:Test started");\r
75         tet_infoline("OMA DRM Content should be registered");\r
76         tet_infoline("RO must be installed to get valid License status");\r
77 }\r
78 \r
79 static void cleanup(void)\r
80 {\r
81         tet_infoline("drm_get_license_status:Test completed");\r
82 }\r
83 \r
84 /**\r
85  * @brief Positive test case of drm_get_license_status()\r
86  */\r
87 static void utc_drmclient_drm_get_license_status_func_01(void)\r
88 {\r
89         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
90         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
91         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_PLAY;\r
92         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
93         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_1);\r
94 \r
95         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
96         if(DRM_RETURN_SUCCESS == ret ){\r
97                         tet_infoline("drm_get_license_status PASS!!!");\r
98                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_1);\r
99                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
100                         tet_result(TET_PASS);\r
101         }else{\r
102                         tet_infoline("drm_get_license_status FAIL!!!");\r
103                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_1);\r
104                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
105                         tet_result(TET_FAIL);\r
106         }\r
107 }\r
108 \r
109 /**\r
110  * @brief Positive test case of drm_get_license_status()\r
111  */\r
112 static void utc_drmclient_drm_get_license_status_func_02(void)\r
113 {\r
114         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
115         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
116         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_DISPLAY;\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_license_status(file_path,perm_type,&license_status);\r
121         if(DRM_RETURN_SUCCESS == ret ){\r
122                         tet_infoline("drm_get_license_status PASS!!!");\r
123                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_2);\r
124                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
125                         tet_result(TET_PASS);\r
126         }else{\r
127                         tet_infoline("drm_get_license_status FAIL!!!");\r
128                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_2);\r
129                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
130                         tet_result(TET_FAIL);\r
131         }\r
132 }\r
133 \r
134 /**\r
135  * @brief Positive test case of drm_get_license_status()\r
136  */\r
137 static void utc_drmclient_drm_get_license_status_func_03(void)\r
138 {\r
139         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
140         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
141         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_PLAY;\r
142         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
143         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_3);\r
144 \r
145         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
146         if(DRM_RETURN_SUCCESS == ret ){\r
147                         tet_infoline("drm_get_license_status PASS!!!");\r
148                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_3);\r
149                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
150                         tet_result(TET_PASS);\r
151         }else{\r
152                         tet_infoline("drm_get_license_status FAIL!!!");\r
153                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_3);\r
154                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
155                         tet_result(TET_FAIL);\r
156         }\r
157 }\r
158 \r
159 /**\r
160  * @brief Positive test case of drm_get_license_status()\r
161  */\r
162 static void utc_drmclient_drm_get_license_status_func_04(void)\r
163 {\r
164         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
165         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
166         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_PLAY;\r
167         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
168         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_4);\r
169 \r
170         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
171         if(DRM_RETURN_SUCCESS == ret ){\r
172                         tet_infoline("drm_get_license_status PASS!!!");\r
173                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_4);\r
174                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
175                         tet_result(TET_PASS);\r
176         }else{\r
177                         tet_infoline("drm_get_license_status FAIL!!!");\r
178                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_OMA_4);\r
179                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
180                         tet_result(TET_FAIL);\r
181         }\r
182 }\r
183 \r
184 /**\r
185  * @brief Positive test case of drm_get_license_status()\r
186  */\r
187 static void utc_drmclient_drm_get_license_status_func_05(void)\r
188 {\r
189         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
190         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
191         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_PLAY;\r
192         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
193         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_PR_1);\r
194 \r
195         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
196         if(DRM_RETURN_SUCCESS == ret ){\r
197                         tet_infoline("drm_get_license_status PASS!!!");\r
198                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_1);\r
199                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
200                         tet_result(TET_PASS);\r
201         }else{\r
202                         tet_infoline("drm_get_license_status FAIL!!!");\r
203                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_1);\r
204                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
205                         tet_result(TET_FAIL);\r
206         }\r
207 }\r
208 \r
209 /**\r
210  * @brief Positive test case of drm_get_license_status()\r
211  */\r
212 static void utc_drmclient_drm_get_license_status_func_06(void)\r
213 {\r
214         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
215         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
216         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_PLAY;\r
217         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
218         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_PR_2);\r
219 \r
220         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
221         if(DRM_RETURN_SUCCESS == ret ){\r
222                         tet_infoline("drm_get_license_status PASS!!!");\r
223                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_2);\r
224                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
225                         tet_result(TET_PASS);\r
226         }else{\r
227                         tet_infoline("drm_get_license_status FAIL!!!");\r
228                         tet_printf ("file_path checked is %s",FILE_PATH_VALID_FILE_PR_2);\r
229                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
230                         tet_result(TET_FAIL);\r
231         }\r
232 }\r
233 \r
234 /**\r
235  * @brief Negative test case of drm_get_license_status()\r
236  */\r
237 \r
238 static void utc_drmclient_drm_get_license_status_func_07(void)\r
239 {\r
240         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
241         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
242         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_NONE;\r
243 \r
244         ret = drm_get_license_status(FILE_PATH_INVALID_FILE_NULL,perm_type,&license_status);\r
245         if(DRM_RETURN_SUCCESS != ret){\r
246                         tet_infoline("drm_get_license_status PASS!!!");\r
247                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_NULL);\r
248                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
249                         tet_result(TET_PASS);\r
250         }else{\r
251                         tet_infoline("drm_get_license_status FAIL!!!");\r
252                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_NULL);\r
253                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
254                         tet_result(TET_FAIL);\r
255         }\r
256 }\r
257 \r
258 /**\r
259  * @brief Negative test case of drm_get_license_status()\r
260  */\r
261 \r
262 static void utc_drmclient_drm_get_license_status_func_08(void)\r
263 {\r
264         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
265         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
266         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_NONE;\r
267         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
268 \r
269         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
270         if(DRM_RETURN_SUCCESS != ret){\r
271                         tet_infoline("drm_get_license_status PASS!!!");\r
272                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_EMPTY);\r
273                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
274                         tet_result(TET_PASS);\r
275         }else{\r
276                         tet_infoline("drm_get_license_status FAIL!!!");\r
277                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_EMPTY);\r
278                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
279                         tet_result(TET_FAIL);\r
280         }\r
281 }\r
282 \r
283 /**\r
284  * @brief Negative test case of drm_get_license_status()\r
285  */\r
286 \r
287 static void utc_drmclient_drm_get_license_status_func_09(void)\r
288 {\r
289         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
290         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
291         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_NONE;\r
292         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
293         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_INVALID_FILE_DIVX_1);\r
294 \r
295         ret = drm_get_license_status(file_path,perm_type,INVALID_POINTER_OBJECT);\r
296         if(DRM_RETURN_SUCCESS != ret){\r
297                         tet_infoline("drm_get_license_status PASS!!!");\r
298                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_DIVX_1);\r
299                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
300                         tet_result(TET_PASS);\r
301         }else{\r
302                         tet_infoline("drm_get_license_status FAIL!!!");\r
303                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_DIVX_1);\r
304                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
305                         tet_result(TET_FAIL);\r
306         }\r
307 }\r
308 \r
309 /**\r
310  * @brief Negative test case of drm_get_license_status()\r
311  */\r
312 \r
313 static void utc_drmclient_drm_get_license_status_func_10(void)\r
314 {\r
315         int ret = DRM_RETURN_INTERNAL_ERROR ;\r
316         drm_license_status_e license_status = DRM_LICENSE_STATUS_UNDEFINED;\r
317         drm_permission_type_e perm_type = DRM_PERMISSION_TYPE_NONE;\r
318         char file_path[FILE_PATH_MAX_SIZE] = {0,};\r
319         snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_INVALID_FILE_OMA_2);\r
320 \r
321         ret = drm_get_license_status(file_path,perm_type,&license_status);\r
322         if(DRM_RETURN_SUCCESS != ret){\r
323                         tet_infoline("drm_get_license_status PASS!!!");\r
324                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_OMA_2);\r
325                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
326                         tet_result(TET_PASS);\r
327         }else{\r
328                         tet_infoline("drm_get_license_status FAIL!!!");\r
329                         tet_printf ("file_path checked is %s",FILE_PATH_INVALID_FILE_OMA_2);\r
330                         tet_printf ("ret = 0x%x license_status=%d",ret,license_status);\r
331                         tet_result(TET_FAIL);\r
332         }\r
333 }\r