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";
33 static const char *sstBgErrPath = SYS_SETTINGS_TEST_DIR"/bg_test.mp4";
35 TEST(SstScreenTest, getHomeWallPaper)
39 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
40 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
48 TEST(SstScreenTest, setHomeWallPaper)
52 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
53 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
64 TEST(SstScreenTest, setHomeWallPaperERR)
67 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_HOME_SCREEN, &iface);
68 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
74 ret = sst_screen_set_home_wallpaper(iface, "test.png");
75 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
77 ret = sst_screen_set_home_wallpaper(iface, sstBgErrPath);
78 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
82 TEST(SstScreenTest, setLockWallPaper)
86 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_WALLPAPER_LOCK_SCREEN, &iface);
87 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
98 TEST(SstScreenTest, setLockWallPaperERR)
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);
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);
108 ret = sst_screen_set_lock_wallpaper(iface, "test.png");
109 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
112 TEST(SstScreenTest, getLockScreen)
115 sst_interface *iface;
116 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
117 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
126 TEST(SstScreenTest, getLockScreenERR)
129 sst_interface *iface;
130 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
131 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
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);
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);
147 TEST(SstScreenTest, setLockScreen)
150 const char *setVal = "org.tizen.voice-control-panel";
152 sst_interface *iface;
153 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
154 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
163 ret = sst_screen_set_lockscreen(iface, "com.samsung.lockscreen");
164 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
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);
180 TEST(SstScreenTest, setLockScreenERR)
182 const char *setVal = "com.samsung.lockscreen";
184 sst_interface *iface;
185 int ret = sst_get_interface(SYSTEM_SETTINGS_KEY_LOCKSCREEN_APP, &iface);
186 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
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);
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);
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);
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);
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);
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);
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);
222 TEST(SstScreenTest, setBackLightTime)
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);
229 sstm_vconf_set_int_setup(VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL, 0);
231 ret = sst_screen_set_backlight_time(iface, -5);
232 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
234 ret = sst_screen_set_backlight_time(iface, 601);
235 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_INVALID_PARAMETER, ret);
237 ret = sst_screen_set_backlight_time(iface, 300);
238 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
240 ret = sst_vconf_get_int(iface, &getVal);
241 EXPECT_EQ(SYSTEM_SETTINGS_ERROR_NONE, ret);
242 EXPECT_EQ(getVal, 300);
245 TEST(SstScreenTest, setBackLightTimeERR)
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);
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);