4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
\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
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
15 * http://www.apache.org/licenses/LICENSE-2.0
\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
26 * @file utc_drmclient_drm_get_data_func.c
\r
27 * @brief TETware unit testing functions for drm_get_data.
\r
28 * @author Mahendra Kumar Prajapat (mahendra.p@samsung.com)
\r
30 * @history 0.1: Initial draft
\r
33 #include <tet_api.h>
\r
34 #include "drmcontentsdef.h"
\r
36 static void startup(void);
\r
37 static void cleanup(void);
\r
39 void (*tet_startup)(void) = startup;
\r
40 void (*tet_cleanup)(void) = cleanup;
\r
42 static void utc_drmclient_drm_get_data_func_01(void);
\r
43 static void utc_drmclient_drm_get_data_func_02(void);
\r
44 static void utc_drmclient_drm_get_data_func_03(void);
\r
45 static void utc_drmclient_drm_get_data_func_04(void);
\r
46 static void utc_drmclient_drm_get_data_func_05(void);
\r
47 static void utc_drmclient_drm_get_data_func_06(void);
\r
48 static void utc_drmclient_drm_get_data_func_07(void);
\r
49 static void utc_drmclient_drm_get_data_func_08(void);
\r
50 static void utc_drmclient_drm_get_data_func_09(void);
\r
51 static void utc_drmclient_drm_get_data_func_10(void);
\r
52 static void utc_drmclient_drm_get_data_func_11(void);
\r
53 static void utc_drmclient_drm_get_data_func_12(void);
\r
54 static void utc_drmclient_drm_get_data_func_13(void);
\r
55 static void utc_drmclient_drm_get_data_func_14(void);
\r
58 POSITIVE_TC_IDX = 0x01,
\r
62 struct tet_testlist tet_testlist[] = {
\r
63 { utc_drmclient_drm_get_data_func_01, POSITIVE_TC_IDX },
\r
64 { utc_drmclient_drm_get_data_func_02, NEGATIVE_TC_IDX },
\r
65 { utc_drmclient_drm_get_data_func_03, NEGATIVE_TC_IDX },
\r
66 { utc_drmclient_drm_get_data_func_04, NEGATIVE_TC_IDX },
\r
67 { utc_drmclient_drm_get_data_func_05, POSITIVE_TC_IDX },
\r
68 { utc_drmclient_drm_get_data_func_06, NEGATIVE_TC_IDX },
\r
69 { utc_drmclient_drm_get_data_func_07, POSITIVE_TC_IDX },
\r
70 { utc_drmclient_drm_get_data_func_08, NEGATIVE_TC_IDX },
\r
71 { utc_drmclient_drm_get_data_func_09, NEGATIVE_TC_IDX },
\r
72 { utc_drmclient_drm_get_data_func_10, NEGATIVE_TC_IDX },
\r
73 { utc_drmclient_drm_get_data_func_11, POSITIVE_TC_IDX },
\r
74 { utc_drmclient_drm_get_data_func_12, NEGATIVE_TC_IDX },
\r
75 { utc_drmclient_drm_get_data_func_13, POSITIVE_TC_IDX },
\r
76 { utc_drmclient_drm_get_data_func_14, NEGATIVE_TC_IDX },
\r
80 static void startup(void)
\r
82 tet_infoline("drm_get_data:Test started");
\r
85 static void cleanup(void)
\r
87 tet_infoline("drm_get_data:Test completed");
\r
91 * @brief Positive test case of drm_get_data()
\r
93 static void utc_drmclient_drm_get_data_func_01(void)
\r
95 drm_data_type_e data_type = DRM_DATA_TYPE_SECURE_CLOCK;
\r
96 drm_secure_clock_data_s secure_clock_info={0};
\r
97 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
99 tet_printf ("Testing:DRM_DATA_TYPE_SECURE_CLOCK");
\r
100 ret = drm_get_data(data_type,NULL,(void*)&secure_clock_info);
\r
101 tet_printf("ret=0x%x",ret);
\r
102 if(DRM_RETURN_SUCCESS == ret
\r
103 && 1 == secure_clock_info.is_secure_clock_set){
\r
104 tet_printf("Secure Clock is SET:ret=0x%x",ret);
\r
105 tet_printf("Secure Time:"
\r
106 "Year=%d,Month=%d,Day=%d,Hour=%d, minute=%d, Second=%d",
\r
107 secure_clock_info.secure_clock.tm_year,
\r
108 secure_clock_info.secure_clock.tm_mon,
\r
109 secure_clock_info.secure_clock.tm_mday,
\r
110 secure_clock_info.secure_clock.tm_hour,
\r
111 secure_clock_info.secure_clock.tm_min,
\r
112 secure_clock_info.secure_clock.tm_sec);
\r
113 tet_result(TET_PASS);
\r
114 }else if(DRM_RETURN_SUCCESS == ret
\r
115 && 0 == secure_clock_info.is_secure_clock_set){
\r
116 tet_printf("Secure Clock is NOT SET:ret=0x%x",ret);
\r
117 tet_result(TET_PASS);
\r
119 tet_printf("Secure Clock Retrieval FAILED:ret=0x%x",ret);
\r
120 tet_result(TET_FAIL);
\r
125 * @brief Negative test case of drm_get_data()
\r
127 static void utc_drmclient_drm_get_data_func_02(void)
\r
129 drm_data_type_e data_type = DRM_DATA_TYPE_NONE;
\r
130 drm_secure_clock_data_s secure_clock_info={0};
\r
131 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
133 tet_printf ("Testing:DRM_DATA_TYPE_SECURE_CLOCK");
\r
134 ret = drm_get_data(data_type,NULL,(void*)&secure_clock_info);
\r
135 tet_printf("ret=0x%x",ret);
\r
136 if(DRM_RETURN_SUCCESS == ret
\r
137 && 1 == secure_clock_info.is_secure_clock_set){
\r
138 tet_printf("Secure Clock is SET:ret=0x%x",ret);
\r
139 tet_printf("Secure Time:"
\r
140 "Year=%d,Month=%d,Day=%d,Hour=%d, minute=%d, Second=%d",
\r
141 secure_clock_info.secure_clock.tm_year,
\r
142 secure_clock_info.secure_clock.tm_mon,
\r
143 secure_clock_info.secure_clock.tm_mday,
\r
144 secure_clock_info.secure_clock.tm_hour,
\r
145 secure_clock_info.secure_clock.tm_min,
\r
146 secure_clock_info.secure_clock.tm_sec);
\r
147 tet_result(TET_FAIL);
\r
148 }else if(DRM_RETURN_SUCCESS == ret
\r
149 && 0 == secure_clock_info.is_secure_clock_set){
\r
150 tet_printf("Secure Clock is NOT SET:ret=0x%x",ret);
\r
151 tet_result(TET_FAIL);
\r
153 tet_printf("Passing Invalid data_type=%d",data_type);
\r
154 tet_result(TET_PASS);
\r
159 * @brief Negative test case of drm_get_data()
\r
161 static void utc_drmclient_drm_get_data_func_03(void)
\r
163 drm_data_type_e data_type = DRM_DATA_TYPE_SECURE_CLOCK;
\r
164 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
166 tet_printf ("Testing:DRM_DATA_TYPE_SECURE_CLOCK");
\r
167 ret = drm_get_data(data_type,NULL,NULL);
\r
168 tet_printf("ret=0x%x",ret);
\r
169 if(DRM_RETURN_SUCCESS == ret){
\r
170 tet_printf("Returned Success:ret=0x%x",ret);
\r
171 tet_result(TET_FAIL);
\r
173 tet_printf("Passing Invalid output parameter");
\r
174 tet_result(TET_PASS);
\r
179 * @brief Negative test case of drm_get_data()
\r
181 static void utc_drmclient_drm_get_data_func_04(void)
\r
183 drm_data_type_e data_type=DRM_DATA_TYPE_NONE;
\r
184 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
186 tet_printf ("Testing:DRM_DATA_TYPE_SECURE_CLOCK");
\r
187 ret = drm_get_data(data_type,NULL,NULL);
\r
188 tet_printf("ret=0x%x",ret);
\r
189 if(DRM_RETURN_SUCCESS == ret){
\r
190 tet_printf("Returned Success:ret=0x%x data_type=%d",ret,data_type);
\r
191 tet_result(TET_FAIL);
\r
193 tet_printf("Passing Invalid data_type=%d",data_type);
\r
194 tet_result(TET_PASS);
\r
199 * @brief Positive test case of drm_get_data()
\r
201 static void utc_drmclient_drm_get_data_func_05(void)
\r
203 drm_data_type_e data_type = DRM_DATA_TYPE_TRANSACTION_TRACKING_FLAG;
\r
204 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
205 int transtrk_flag = 0;
\r
207 tet_printf ("Testing:DRM_DATA_TYPE_TRANSACTION_TRACKING_FLAG");
\r
208 ret = drm_get_data(data_type, NULL, (void*)&transtrk_flag);
\r
209 tet_printf("ret=0x%x", ret);
\r
210 if (DRM_RETURN_SUCCESS == ret) {
\r
211 tet_printf("transtrk_flag = %d", transtrk_flag);
\r
212 tet_result(TET_PASS);
\r
214 tet_printf("Get Transaction Tracking Flag failed!!, "
\r
215 "ret = 0x%x", ret);
\r
216 tet_result(TET_FAIL);
\r
221 * @brief Negative test case of drm_get_data()
\r
223 static void utc_drmclient_drm_get_data_func_06(void)
\r
225 drm_data_type_e data_type = DRM_DATA_TYPE_TRANSACTION_TRACKING_FLAG;
\r
226 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
228 tet_printf ("Testing:DRM_DATA_TYPE_TRANSACTION_TRACKING_FLAG");
\r
229 ret = drm_get_data(data_type, NULL,NULL);
\r
230 tet_printf("ret=0x%x", ret);
\r
231 if (DRM_RETURN_SUCCESS == ret) {
\r
232 tet_printf("Returned Success");
\r
233 tet_result(TET_FAIL);
\r
235 tet_printf("Invalid output:ret = 0x%x", ret);
\r
236 tet_result(TET_PASS);
\r
241 * @brief Positive test case of drm_get_data()
\r
243 static void utc_drmclient_drm_get_data_func_07(void)
\r
245 drm_data_type_e data_type = DRM_DATA_TYPE_TRANSACTION_TRACKING_ID;
\r
246 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
248 tet_printf("Testing:DRM_DATA_TYPE_TRANSACTION_TRACKING_ID");
\r
249 drm_transaction_id_info_s transaction_id_info;
\r
250 memset(&transaction_id_info,0x0,sizeof(drm_transaction_id_info_s));
\r
252 char file_path[FILE_PATH_MAX_SIZE] = {0,};
\r
253 snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_3);
\r
255 ret = drm_get_data(data_type,(void*)file_path,(void*)&transaction_id_info);
\r
256 tet_printf("ret=0x%x",ret);
\r
257 if(DRM_RETURN_SUCCESS == ret){
\r
258 tet_printf("Transaction ID Length =%d file_path=%s",
\r
259 transaction_id_info.tr_id_len,file_path);
\r
260 if(0 != transaction_id_info.tr_id_len){
\r
261 tet_printf("Transaction ID =%s",
\r
262 transaction_id_info.tr_id);
\r
264 tet_result(TET_PASS);
\r
266 tet_printf("Transaction ID Retrieval FAILED:ret=0x%x file_path=%s",
\r
268 tet_result(TET_FAIL);
\r
273 * @brief Negative test case of drm_get_data()
\r
275 static void utc_drmclient_drm_get_data_func_08(void)
\r
277 drm_data_type_e data_type = DRM_DATA_TYPE_TRANSACTION_TRACKING_ID;
\r
278 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
280 tet_printf("Testing:DRM_DATA_TYPE_TRANSACTION_TRACKING_ID");
\r
281 drm_transaction_id_info_s transaction_id_info;
\r
282 memset(&transaction_id_info,0x0,sizeof(drm_transaction_id_info_s));
\r
284 char file_path[FILE_PATH_MAX_SIZE] = {0,};
\r
285 snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_INVALID_FILE_EMPTY);
\r
287 ret = drm_get_data(data_type,(void*)file_path,(void*)&transaction_id_info);
\r
288 tet_printf("ret=0x%x",ret);
\r
289 if(DRM_RETURN_SUCCESS == ret){
\r
290 tet_printf("Transaction ID Length =%d file_path=%s",
\r
291 transaction_id_info.tr_id_len,file_path);
\r
292 if(0 != transaction_id_info.tr_id_len){
\r
293 tet_printf("Transaction ID =%s",
\r
294 transaction_id_info.tr_id);
\r
296 tet_result(TET_FAIL);
\r
298 tet_printf("Invalid Input:ret=0x%x file_path=%s",
\r
300 tet_result(TET_PASS);
\r
305 * @brief Negative test case of drm_get_data()
\r
307 static void utc_drmclient_drm_get_data_func_09(void)
\r
309 drm_data_type_e data_type = DRM_DATA_TYPE_TRANSACTION_TRACKING_ID;
\r
310 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
312 tet_printf("Testing:DRM_DATA_TYPE_TRANSACTION_TRACKING_ID");
\r
314 char file_path[FILE_PATH_MAX_SIZE] = {0,};
\r
315 snprintf(file_path,FILE_PATH_MAX_SIZE, "%s",FILE_PATH_VALID_FILE_OMA_3);
\r
317 ret = drm_get_data(data_type,(void*)file_path,NULL);
\r
318 tet_printf("ret=0x%x",ret);
\r
319 if(DRM_RETURN_SUCCESS == ret){
\r
320 tet_printf("Returned Success:ret=0x%x",ret);
\r
321 tet_result(TET_FAIL);
\r
323 tet_printf("Invalid Output:ret=0x%x file_path=%s",
\r
325 tet_result(TET_PASS);
\r
330 * @brief Negative test case of drm_get_data()
\r
332 static void utc_drmclient_drm_get_data_func_10(void)
\r
334 drm_data_type_e data_type = DRM_DATA_TYPE_TRANSACTION_TRACKING_ID;
\r
335 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
337 tet_printf("Testing:DRM_DATA_TYPE_TRANSACTION_TRACKING_ID");
\r
338 drm_transaction_id_info_s transaction_id_info;
\r
339 memset(&transaction_id_info,0x0,sizeof(drm_transaction_id_info_s));
\r
341 ret = drm_get_data(data_type,NULL,(void*)&transaction_id_info);
\r
342 tet_printf("ret=0x%x",ret);
\r
343 if(DRM_RETURN_SUCCESS == ret){
\r
344 tet_printf("Returned Success:ret=0x%x",ret);
\r
345 tet_result(TET_FAIL);
\r
347 tet_printf("Invalid Input:ret=0x%x",ret);
\r
348 tet_result(TET_PASS);
\r
353 * @brief Positive test case of drm_get_data()
\r
355 static void utc_drmclient_drm_get_data_func_11(void)
\r
357 drm_data_type_e data_type = DRM_DATA_TYPE_DIVX_REGISTRATION_CODE;
\r
358 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
360 tet_printf("Testing:DRM_DATA_TYPE_DIVX_REGISTRATION_CODE");
\r
362 drm_code_info_s reg_code_info;
\r
363 memset(®_code_info,0x0,sizeof(drm_code_info_s));
\r
365 ret = drm_get_data(data_type, NULL, (void*) ®_code_info);
\r
366 tet_printf("ret=0x%x", ret);
\r
367 if (DRM_RETURN_SUCCESS == ret) {
\r
368 tet_printf("Code Length = %d", reg_code_info.code_len);
\r
369 if (0 != reg_code_info.code_len) {
\r
370 tet_printf("Code = %s", reg_code_info.code);
\r
372 tet_result(TET_PASS);
\r
374 tet_printf("Divx Registration Code Retrieval failed!!");
\r
375 tet_result(TET_FAIL);
\r
380 * @brief Negative test case of drm_get_data()
\r
382 static void utc_drmclient_drm_get_data_func_12(void)
\r
384 drm_data_type_e data_type = DRM_DATA_TYPE_DIVX_REGISTRATION_CODE;
\r
385 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
387 tet_printf("Testing:DRM_DATA_TYPE_DIVX_REGISTRATION_CODE");
\r
389 ret = drm_get_data(data_type, NULL,NULL);
\r
390 tet_printf("ret=0x%x", ret);
\r
391 if (DRM_RETURN_SUCCESS == ret) {
\r
392 tet_printf("Success:ret=0x%x", ret);
\r
393 tet_result(TET_FAIL);
\r
395 tet_printf("Invalid output:ret=0x%x", ret);
\r
396 tet_result(TET_PASS);
\r
401 * @brief Positive test case of drm_get_data()
\r
403 static void utc_drmclient_drm_get_data_func_13(void)
\r
405 drm_data_type_e data_type = DRM_DATA_TYPE_DIVX_DEREGISTRATION_CODE;
\r
406 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
408 tet_printf("Testing:DRM_DATA_TYPE_DIVX_DEREGISTRATION_CODE");
\r
410 drm_code_info_s dereg_code_info;
\r
411 memset(&dereg_code_info,0x0,sizeof(drm_code_info_s));
\r
412 ret = drm_get_data(data_type, NULL, (void*) &dereg_code_info);
\r
413 tet_printf("ret=0x%x", ret);
\r
414 if (DRM_RETURN_SUCCESS == ret) {
\r
415 tet_printf("Code Length = %d", dereg_code_info.code_len);
\r
416 if (0 != dereg_code_info.code_len) {
\r
417 tet_printf("Code = %s", dereg_code_info.code);
\r
419 tet_result(TET_PASS);
\r
421 tet_printf("Divx Deregistration Code Retrieval failed!!");
\r
422 tet_result(TET_FAIL);
\r
427 * @brief Negative test case of drm_get_data()
\r
429 static void utc_drmclient_drm_get_data_func_14(void)
\r
431 drm_data_type_e data_type = DRM_DATA_TYPE_DIVX_DEREGISTRATION_CODE;
\r
432 int ret = DRM_RETURN_INTERNAL_ERROR;
\r
434 tet_printf("Testing:DRM_DATA_TYPE_DIVX_DEREGISTRATION_CODE");
\r
436 ret = drm_get_data(data_type, NULL,NULL);
\r
437 tet_printf("ret=0x%x", ret);
\r
438 if (DRM_RETURN_SUCCESS == ret) {
\r
439 tet_printf("Success:ret=0x%x", ret);
\r
440 tet_result(TET_FAIL);
\r
442 tet_printf("Invalid output:ret=0x%x", ret);
\r
443 tet_result(TET_PASS);
\r