Tizen 2.1 base
[platform/core/appfw/heynoti.git] / TC / unit / utc_ApplicationFW_heynoti_unsubscribe_file_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_unsubscribe_file_func_01(void);
32 static void utc_ApplicationFW_heynoti_unsubscribe_file_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_unsubscribe_file_func_01, POSITIVE_TC_IDX },
41         { utc_ApplicationFW_heynoti_unsubscribe_file_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         int r = 0;
56
57         fd  = heynoti_init();
58
59         if (fd < 0) {
60                 err = "Error init heynoti";
61                 tet_infoline(err);
62                 tet_delete(POSITIVE_TC_IDX, err);
63                 tet_delete(NEGATIVE_TC_IDX, err);
64         }
65
66         r = heynoti_subscribe_file(fd, "/home/root/noti_test_file", callback, NULL, IN_CLOSE_WRITE | IN_DELETE_SELF);
67
68         if (r) {
69                 err = "Error subscribe file";
70                 tet_infoline(err);
71                 tet_delete(POSITIVE_TC_IDX, err);
72                 tet_delete(NEGATIVE_TC_IDX, err);
73         }
74
75 }
76
77 static void cleanup(void)
78 {
79         heynoti_close(fd);
80 }
81
82 /**
83  * @brief Positive test case of heynoti_unsubscribe_file()
84  */
85 static void utc_ApplicationFW_heynoti_unsubscribe_file_func_01(void)
86 {
87         int r = 0;
88
89         r = heynoti_unsubscribe_file(fd, "/home/root/noti_test_file", callback);
90
91         if (r) {
92                 tet_infoline("heynoti_unsubscribe_file() failed in positive test case");
93                 tet_result(TET_FAIL);
94                 return;
95         }
96         tet_result(TET_PASS);
97 }
98
99 /**
100  * @brief Negative test case of ug_init heynoti_unsubscribe_file()
101  */
102 static void utc_ApplicationFW_heynoti_unsubscribe_file_func_02(void)
103 {
104         int r = 0;
105
106         r = heynoti_unsubscribe_file(-1, "/home/root/noti_test_file", callback);
107
108         if (!r) {
109                 tet_infoline("heynoti_unsubscribe_file() failed in negative test case");
110                 tet_result(TET_FAIL);
111                 return;
112         }
113         tet_result(TET_PASS);
114 }