Tizen 2.1 base
[platform/core/appfw/heynoti.git] / TC / unit / utc_ApplicationFW_heynoti_subscribe_func.c
1 /*
2  *  heynoti
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
7  * 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 <tet_api.h>
23 #include <heynoti.h>
24
25 static void startup(void);
26 static void cleanup(void);
27
28 void (*tet_startup)(void) = startup;
29 void (*tet_cleanup)(void) = cleanup;
30
31 static void utc_ApplicationFW_heynoti_subscribe_func_01(void);
32 static void utc_ApplicationFW_heynoti_subscribe_func_02(void);
33
34 enum {
35         POSITIVE_TC_IDX = 0x01,
36         NEGATIVE_TC_IDX,
37 };
38
39 struct tet_testlist tet_testlist[] = {
40         { utc_ApplicationFW_heynoti_subscribe_func_01, POSITIVE_TC_IDX },
41         { utc_ApplicationFW_heynoti_subscribe_func_02, NEGATIVE_TC_IDX },
42         { NULL, 0},
43 };
44
45 int fd;
46
47 void callback(void *data)
48 {
49
50 }
51
52 static void startup(void)
53 {
54         char *err;
55
56         fd  = heynoti_init();
57
58         if (fd < 0) {
59                 err = "Error init heynoti";
60                 tet_infoline(err);
61                 tet_delete(POSITIVE_TC_IDX, err);
62                 tet_delete(NEGATIVE_TC_IDX, err);
63         }
64 }
65
66 static void cleanup(void)
67 {
68         heynoti_unsubscribe(fd, "test_testnoti", callback);
69         heynoti_close(fd);
70 }
71
72 /**
73  * @brief Positive test case of heynoti_subscribe()
74  */
75 static void utc_ApplicationFW_heynoti_subscribe_func_01(void)
76 {
77         int r = 0;
78
79         r = heynoti_subscribe(fd, "test_testnoti", callback, NULL);
80
81         if (r) {
82                 tet_infoline("heynoti_subscribe() failed in positive test case");
83                 tet_result(TET_FAIL);
84                 return;
85         }
86         tet_result(TET_PASS);
87 }
88
89 /**
90  * @brief Negative test case of ug_init heynoti_subscribe()
91  */
92 static void utc_ApplicationFW_heynoti_subscribe_func_02(void)
93 {
94         int r = 0;
95
96         r = heynoti_subscribe(-1, "test_testnoti", callback, NULL);
97
98         if (!r) {
99                 tet_infoline("heynoti_subscribe() failed in negative test case");
100                 tet_result(TET_FAIL);
101                 return;
102         }
103         tet_result(TET_PASS);
104 }