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