Remove unused pkgmgr dependency
[platform/core/api/system-settings.git] / tests / sst_gtest_normal_screen.cpp
1 /*
2  * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <string.h>
18 #include <glib.h>
19 #include <gtest/gtest.h>
20 #include <vconf.h>
21
22 #include "system_settings.h"
23 #include "mocks/sstt_mock.h"
24
25 extern "C" {
26 #include "sst.h"
27 #include "sst_vconf.h"
28 #include "sst_interface.h"
29 #include "sst_screen.h"
30 }
31
32 static const char *sstBgPath = SYS_SETTINGS_TEST_DIR"/bg_test.png";
33 static const char *sstBgErrPath = SYS_SETTINGS_TEST_DIR"/bg_test.mp4";
34
35 TEST(SstScreenTest, getHomeWallPaper)
36 {
37         char *val = NULL;
38         sst_interface *iface;
39         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
40         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
41
42         sstm_vconf_get_str_setup(VCONFKEY_BGSET, "test.png", 0);
43         ret = sst_vconf_get_str(iface, &val);
44         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
45         free(val);
46 }
47
48 TEST(SstScreenTest, setHomeWallPaper)
49 {
50         char *getVal = NULL;
51         sst_interface *iface;
52         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
53         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
54
55         sstm_vconf_set_str_setup(VCONFKEY_BGSET, 0);
56         ret = sst_screen_set_home_wallpaper(iface, sstBgPath);
57         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
58         ret = sst_vconf_get_str(iface, &getVal);
59         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
60         EXPECT_STREQ(sstBgPath, getVal);
61         free(getVal);
62 }
63
64 TEST(SstScreenTest, setHomeWallPaperERR)
65 {
66         sst_interface *iface;
67         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
68         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
69
70         sstm_vconf_set_str_setup(VCONFKEY_BGSET, -1);
71         ret = sst_screen_set_home_wallpaper(iface, sstBgPath);
72         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
73
74         ret = sst_screen_set_home_wallpaper(iface, "test.png");
75         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
76
77         ret = sst_screen_set_home_wallpaper(iface, sstBgErrPath);
78         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
79 }
80
81
82 TEST(SstScreenTest, setLockWallPaper)
83 {
84         char *getVal = NULL;
85         sst_interface *iface;
86         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
87         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
88
89         sstm_vconf_set_str_setup(VCONFKEY_IDLE_LOCK_BGSET, 0);
90         ret = sst_screen_set_lock_wallpaper(iface, sstBgPath);
91         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
92         ret = sst_vconf_get_str(iface, &getVal);
93         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
94         EXPECT_STREQ(sstBgPath, getVal);
95         free(getVal);
96 }
97
98 TEST(SstScreenTest, setLockWallPaperERR)
99 {
100         sst_interface *iface;
101         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
102         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
103
104         sstm_vconf_set_str_setup(VCONFKEY_IDLE_LOCK_BGSET, -1);
105         ret = sst_screen_set_lock_wallpaper(iface, sstBgPath);
106         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
107
108         ret = sst_screen_set_lock_wallpaper(iface, "test.png");
109         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
110 }
111
112 TEST(SstScreenTest, getLockScreen)
113 {
114         char *val = NULL;
115         sst_interface *iface;
116         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
117         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
118
119         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
120         sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
121         ret = sst_screen_get_lockscreen(iface, &val);
122         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
123         free(val);
124 }
125
126 TEST(SstScreenTest, getLockScreenERR)
127 {
128         char *val = NULL;
129         sst_interface *iface;
130         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
131         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
132
133         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, 0);
134         sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
135         ret = sst_screen_get_lockscreen(iface, &val);
136         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
137
138         sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", -1);
139         ret = sst_screen_get_lockscreen(iface, &val);
140         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
141
142         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, -1);
143         ret = sst_screen_get_lockscreen(iface, &val);
144         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
145 }
146
147 TEST(SstScreenTest, setLockScreen)
148 {
149         char *getVal = NULL;
150         const char *setVal = "org.tizen.voice-control-panel";
151
152         sst_interface *iface;
153         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
154         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
155
156         sstm_pkgmgrinfo_appinfo_get_appinfo_setup(0);
157         sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, true);
158         sstm_pkgmgrinfo_appinfo_destroy_appinfo_setup(0);
159         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
160         sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, 0);
161         sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, 0);
162
163         ret = sst_screen_set_lockscreen(iface, "com.samsung.lockscreen");
164         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
165
166         ret = sst_screen_set_lockscreen(iface, setVal);
167         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
168         ret = sst_screen_get_lockscreen(iface, &getVal);
169         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
170         EXPECT_STREQ(setVal, getVal);
171
172         ret = vconf_set_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD);
173         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
174         ret = sst_screen_set_lockscreen(iface, setVal);
175         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
176
177         free(getVal);
178 }
179
180 TEST(SstScreenTest, setLockScreenERR)
181 {
182         const char *setVal = "com.samsung.lockscreen";
183
184         sst_interface *iface;
185         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
186         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
187
188         sstm_pkgmgrinfo_appinfo_get_appinfo_setup(0);
189         sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, true);
190         sstm_pkgmgrinfo_appinfo_destroy_appinfo_setup(0);
191         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
192         sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
193         sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, -1);
194         ret = sst_screen_set_lockscreen(iface, setVal);
195         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
196
197         sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, -1);
198         ret = sst_screen_set_lockscreen(iface, setVal);
199         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
200
201         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, 0);
202         ret = sst_screen_set_lockscreen(iface, setVal);
203         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
204
205         sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, -1);
206         ret = sst_screen_set_lockscreen(iface, setVal);
207         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
208
209         sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, false);
210         ret = sst_screen_set_lockscreen(iface, setVal);
211         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
212
213         sstm_pkgmgrinfo_appinfo_foreach_category_setup(-1, false);
214         ret = sst_screen_set_lockscreen(iface, setVal);
215         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
216
217         sstm_pkgmgrinfo_appinfo_get_appinfo_setup(-1);
218         ret = sst_screen_set_lockscreen(iface, setVal);
219         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
220 }
221
222 TEST(SstScreenTest, setBackLightTime)
223 {
224         int getVal;
225         sst_interface *iface;
226         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
227         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
228
229         sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 0);
230
231         ret = sst_screen_set_backlight_time(iface, -5);
232         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
233
234         ret = sst_screen_set_backlight_time(iface, 601);
235         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
236
237         ret = sst_screen_set_backlight_time(iface, 300);
238         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
239
240         ret = sst_vconf_get_int(iface, &getVal);
241         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
242         EXPECT_EQ(getVal, 300);
243 }
244
245 TEST(SstScreenTest, setBackLightTimeERR)
246 {
247         sst_interface *iface;
248         int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
249         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
250
251         sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, -1);
252         ret = sst_screen_set_backlight_time(iface, 300);
253         EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
254 }