tizen 2.3.1 release
[framework/appfw/alarm-manager.git] / TC / unit / utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func.c
1 /*
2  *  alarm-manager
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Venkatesha Sarpangala <sarpangala.v@samsung.com>, Jayoun Lee <airjany@samsung.com>,
7  * Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  */
22 #include <stdio.h>
23 #include <stdlib.h>
24 #include <time.h>
25 #include <tet_api.h>
26 #include <sys/types.h>
27 #include <unistd.h>
28
29 #include "alarm.h"
30
31 static void startup(void);
32 static void cleanup(void);
33
34 void (*tet_startup)(void) = startup;
35 void (*tet_cleanup)(void) = cleanup;
36
37 static void utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func_01(void);
38 static void utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func_02(void);
39
40 enum {
41         POSITIVE_TC_IDX = 0x01,
42         NEGATIVE_TC_IDX,
43 };
44
45 struct tet_testlist tet_testlist[] = {
46         { utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func_01, POSITIVE_TC_IDX },
47         { utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func_02, NEGATIVE_TC_IDX },
48         { NULL , 0 }
49 };
50
51 static int pid;
52
53 static void startup(void)
54 {
55 }
56
57 static void cleanup(void)
58 {
59 }
60
61 /**
62  * @brief Positive test case of alarmmgr_add_alarm_with_localtime()
63  */
64 static void utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func_01(void)
65 {
66         int ret_val = ALARMMGR_RESULT_SUCCESS;
67         alarm_entry_t* alarm; 
68         const char* destination = NULL; 
69         alarm_id_t alarm_id;
70
71         time_t current_time;
72         struct tm current_tm;
73         alarm_date_t test_time;
74
75         const char* pkg_name = "com.samsung.test";
76
77         g_type_init();
78
79         ret_val =alarmmgr_init(pkg_name) ;
80         if(ret_val != ALARMMGR_RESULT_SUCCESS)
81         {
82                  tet_infoline("\nAlarm Manager : call to alarmmgr_init () failed \n");
83                  tet_result(TET_FAIL);
84                  return;
85         }
86
87         time(&current_time);
88
89         printf("current time: %s\n", ctime(&current_time));
90         localtime_r(&current_time, &current_tm);
91
92         alarm = alarmmgr_create_alarm();
93
94         test_time.year = 0;                 
95         test_time.month = 0;                
96         test_time.day = 0;                  
97                                      
98         test_time.hour = current_tm.tm_hour;
99         test_time.min = current_tm.tm_min+1;
100         test_time.sec = 0;
101
102         
103         alarmmgr_set_time(alarm,test_time);
104         alarmmgr_set_repeat_mode(alarm,ALARM_REPEAT_MODE_WEEKLY, ALARM_WDAY_MONDAY);
105         alarmmgr_set_type(alarm,ALARM_TYPE_VOLATILE);
106
107                 
108        ret_val=alarmmgr_add_alarm_with_localtime(alarm,destination,&alarm_id);
109
110         if(ret_val == ALARMMGR_RESULT_SUCCESS)
111         {
112                  tet_infoline("\nAlarm Manager : call to alarmmgr_add_alarm_with_localtime() is successful \n");
113                  tet_result(TET_PASS);
114         }
115         else
116         {
117                  tet_infoline("\nAlarm Manager : call to alarmmgr_add_alarm_with_localtime() failed \n");
118                  tet_result(TET_FAIL);
119         }
120         alarmmgr_free_alarm( alarm) ;
121 }
122
123 /**
124  * @brief Negative test case of ug_init alarmmgr_add_alarm_with_localtime()
125  */
126 static void utc_ApplicationFW_alarmmgr_add_alarm_with_localtime_func_02(void)
127 {
128         int ret_val = ALARMMGR_RESULT_SUCCESS;
129         alarm_entry_t* alarm = NULL; 
130         const char* destination = NULL; 
131         alarm_id_t* alarm_id = NULL;
132
133         const char* pkg_name = "com.samsung.test";
134
135         g_type_init();
136
137         ret_val =alarmmgr_init(pkg_name) ;
138         if(ret_val != ALARMMGR_RESULT_SUCCESS)
139         {
140                  tet_infoline("\nAlarm Manager : call to alarmmgr_init () failed \n");
141                  tet_result(TET_FAIL);
142                  return;
143         }
144         
145         ret_val = alarmmgr_add_alarm_with_localtime(alarm,  destination, alarm_id);
146         if(ret_val == ERR_ALARM_INVALID_PARAM)
147         {
148                  tet_infoline("\nAlarm Manager : call to alarmmgr_add_alarm_with_localtime()  with invalid parameter  is successful \n");
149                  tet_result(TET_PASS);
150         }
151         else
152         {
153                  tet_infoline("\nAlarm Manager : call to alarmmgr_add_alarm_with_localtime() failed \n");
154                  tet_result(TET_FAIL);
155         }
156 }