2 * Copyright (c) 2020 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 #include <gtest/gtest.h>
22 #include "system_settings.h"
23 #include "mocks/sstt_mock.h"
27 #include "sst_vconf.h"
28 #include "sst_interface.h"
29 #include "sst_screen.h"
32 static const char *sstBgPath = SYS_SETTINGS_TEST_DIR"/bg_test.png";
34 TEST(SstScreenTest, getHomeWallPaper)
38 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
39 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
41 sstm_vconf_get_str_setup(VCONFKEY_BGSET, "test.png", 0);
42 ret = sst_vconf_get_str(iface, &val);
43 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
47 TEST(SstScreenTest, setHomeWallPaper)
51 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
52 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
54 sstm_vconf_set_str_setup(VCONFKEY_BGSET, 0);
55 ret = sst_screen_set_home_wallpaper(iface, sstBgPath);
56 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
57 ret = sst_vconf_get_str(iface, &getVal);
58 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
59 EXPECT_STREQ(sstBgPath, getVal);
63 TEST(SstScreenTest, setHomeWallPaperERR)
66 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
67 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
69 sstm_vconf_set_str_setup(VCONFKEY_BGSET, -1);
70 ret = sst_screen_set_home_wallpaper(iface, sstBgPath);
71 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
73 ret = sst_screen_set_home_wallpaper(iface, "test.png");
74 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
78 TEST(SstScreenTest, setLockWallPaper)
82 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
83 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
85 sstm_vconf_set_str_setup(VCONFKEY_IDLE_LOCK_BGSET, 0);
86 ret = sst_screen_set_lock_wallpaper(iface, sstBgPath);
87 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
88 ret = sst_vconf_get_str(iface, &getVal);
89 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
90 EXPECT_STREQ(sstBgPath, getVal);
94 TEST(SstScreenTest, setLockWallPaperERR)
97 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
98 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
100 sstm_vconf_set_str_setup(VCONFKEY_IDLE_LOCK_BGSET, -1);
101 ret = sst_screen_set_lock_wallpaper(iface, sstBgPath);
102 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
104 ret = sst_screen_set_lock_wallpaper(iface, "test.png");
105 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
108 TEST(SstScreenTest, getLockScreen)
111 sst_interface *iface;
112 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
113 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
115 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
116 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
117 ret = sst_screen_get_lockscreen(iface, &val);
118 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
122 TEST(SstScreenTest, getLockScreenERR)
125 sst_interface *iface;
126 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
127 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
129 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, 0);
130 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
131 ret = sst_screen_get_lockscreen(iface, &val);
132 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
134 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", -1);
135 ret = sst_screen_get_lockscreen(iface, &val);
136 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
138 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, -1);
139 ret = sst_screen_get_lockscreen(iface, &val);
140 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
143 TEST(SstScreenTest, setLockScreen)
146 const char *setVal = "org.tizen.voice-control-panel";
148 sst_interface *iface;
149 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
150 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
152 sstm_pkgmgrinfo_appinfo_get_appinfo_setup(0);
153 sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, true);
154 sstm_pkgmgrinfo_appinfo_destroy_appinfo_setup(0);
155 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
156 sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, 0);
157 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, 0);
159 ret = sst_screen_set_lockscreen(iface, "com.samsung.lockscreen");
160 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
162 ret = sst_screen_set_lockscreen(iface, setVal);
163 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
164 ret = sst_screen_get_lockscreen(iface, &getVal);
165 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
166 EXPECT_STREQ(setVal, getVal);
168 ret = vconf_set_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD);
169 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
170 ret = sst_screen_set_lockscreen(iface, setVal);
171 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
176 TEST(SstScreenTest, setLockScreenERR)
178 const char *setVal = "com.samsung.lockscreen";
180 sst_interface *iface;
181 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
182 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
184 sstm_pkgmgrinfo_appinfo_get_appinfo_setup(0);
185 sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, true);
186 sstm_pkgmgrinfo_appinfo_destroy_appinfo_setup(0);
187 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, 0);
188 sstm_vconf_get_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, "com.samsung.lockscreen", 0);
189 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, -1);
190 ret = sst_screen_set_lockscreen(iface, setVal);
191 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
193 sstm_vconf_set_str_setup(VCONFKEY_SETAPPL_3RD_LOCK_PKG_NAME_STR, -1);
194 ret = sst_screen_set_lockscreen(iface, setVal);
195 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
197 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_PASSWORD, 0);
198 ret = sst_screen_set_lockscreen(iface, setVal);
199 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_LOCKSCREEN_APP_PASSWORD_MODE, ret);
201 sstm_vconf_get_int_setup(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, SETTING_SCREEN_LOCK_TYPE_NONE, -1);
202 ret = sst_screen_set_lockscreen(iface, setVal);
203 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
205 sstm_pkgmgrinfo_appinfo_foreach_category_setup(0, false);
206 ret = sst_screen_set_lockscreen(iface, setVal);
207 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);
209 sstm_pkgmgrinfo_appinfo_foreach_category_setup(-1, false);
210 ret = sst_screen_set_lockscreen(iface, setVal);
211 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
213 sstm_pkgmgrinfo_appinfo_get_appinfo_setup(-1);
214 ret = sst_screen_set_lockscreen(iface, setVal);
215 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
218 TEST(SstScreenTest, setBackLightTime)
221 sst_interface *iface;
222 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
223 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
225 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 0);
227 ret = sst_screen_set_backlight_time(iface, -5);
228 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
230 ret = sst_screen_set_backlight_time(iface, 601);
231 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
233 ret = sst_screen_set_backlight_time(iface, 300);
234 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
236 ret = sst_vconf_get_int(iface, &getVal);
237 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
238 EXPECT_EQ(getVal, 300);
241 TEST(SstScreenTest, setBackLightTimeERR)
243 sst_interface *iface;
244 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_SCREEN_BACKLIGHT_TIME, &iface);
245 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
247 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, -1);
248 ret = sst_screen_set_backlight_time(iface, 300);
249 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_IO_ERROR, ret);