1/* 2 * Copyright (C) 2021 XXXX Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15import screenLock from '@ohos.screenLock'; 16 17import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index' 18 19const SLEEP_TIME = 1000; 20const PERMISSON_ERROR = 201; 21const PARAMETER_ERROR = 401; 22describe("ScreenlcokJsTest", function () { 23 beforeAll(function () { 24 // input testsuit setup step,setup invoked before all testcases 25 console.info('beforeAll caled') 26 }) 27 28 afterAll(function () { 29 // input testsuit teardown step,teardown invoked after all testcases 30 console.info('afterAll caled') 31 }) 32 33 beforeEach(function () { 34 // input testcase setup step,setup invoked before each testcases 35 console.info('beforeEach caled') 36 }) 37 38 afterEach(function () { 39 // input testcase teardown step,teardown invoked after each testcases 40 console.info('afterEach caled') 41 }) 42 43 /* 44 * @tc.name:SUB_MISC_THEME_screenLock_API_0001 45 * @tc.desc: Checks whether the screen lock of the current device is secure. 46 * @tc.type: Function 47 * @tc.require: SR000HHEJQ 48 */ 49 it("SUB_MISC_THEME_screenLock_API_0001", 0, function (done) { 50 try { 51 let ret = screenLock.isLocked(); 52 screenLock.isScreenLocked((err, data) => { 53 console.info("SUB_MISC_THEME_screenLock_API_0001 screen's status is " + data); 54 expect(data == ret).assertTrue(); 55 done(); 56 }); 57 } catch (error) { 58 console.error("logMessage SUB_MISC_THEME_screenLock_API_0001: error.code : " + error.code + "error.message :" + error.message); 59 expect(error.code == PARAMETER_ERROR).assertTrue(); 60 done(); 61 } 62 }) 63 /* 64 * @tc.name:SUB_MISC_THEME_screenLock_API_0002 65 * @tc.desc: Checks whether the screen is currently locked. 66 * @tc.type: Function 67 * @tc.require: SR000HHEJQ 68 */ 69 it("SUB_MISC_THEME_screenLock_API_0002", 0, function (done) { 70 try { 71 let ret = screenLock.isSecure(); 72 screenLock.isSecureMode((err, data) => { 73 console.info("SUB_MISC_THEME_screenLock_API_0002 secureMode's result is " + data); 74 expect(data == ret).assertTrue(); 75 done(); 76 }); 77 } catch (error) { 78 console.error("logMessage SUB_MISC_THEME_screenLock_API_0002: error.code : " + error.code + "error.message :" + error.message); 79 expect(error.code == PARAMETER_ERROR).assertTrue(); 80 done(); 81 } 82 }) 83 /* 84 * @tc.name:SUB_MISC_THEME_screenLock_API_0003 85 * @tc.desc: Unlock the screen 86 * @tc.type: Function 87 * @tc.require: SR000HHEJQ 88 */ 89 it("SUB_MISC_THEME_screenLock_API_0003", 0, function (done) { 90 try { 91 screenLock.unlock((err, data) => { 92 if (err) { 93 console.info("unlock filed: error.code : " + err.code + "error.message :" + err.message); 94 expect(err.code == PERMISSON_ERROR).assertTrue(); 95 } else { 96 console.info("SUB_MISC_THEME_screenLock_API_0003 unlock screen success."); 97 let ret = screenLock.isLocked(); 98 expect(ret == false).assertTrue(); 99 } 100 done(); 101 }); 102 } catch (error) { 103 console.error("SUB_MISC_THEME_screenLock_API_0003: error.code : " + error.code + "error.message :" + error.message); 104 expect(error.code == PARAMETER_ERROR).assertTrue(); 105 done(); 106 } 107 }) 108 /* 109 * @tc.name:SUB_MISC_THEME_screenLock_API_0004 110 * @tc.desc: Unlock the screen 111 * @tc.type: Function 112 * @tc.require: SR000HHEJQ 113 */ 114 it("SUB_MISC_THEME_screenLock_API_0004", 0, function (done) { 115 try { 116 screenLock.unlock().then((data) => { 117 console.info("SUB_MISC_THEME_screenLock_API_0004 unlock screen success."); 118 let ret = screenLock.isLocked(); 119 expect(ret == false).assertTrue(); 120 done(); 121 }).catch((err) => { 122 console.error("SUB_MISC_THEME_screenLock_API_0004: error.code : " + err.code + "error.message :" + err.message); 123 expect(err.code == PERMISSON_ERROR).assertTrue(); 124 done(); 125 }); 126 } catch (error) { 127 console.error("SUB_MISC_THEME_screenLock_API_0004: error.code : " + error.code + "error.message :" + error.message); 128 expect(error.code == PARAMETER_ERROR).assertTrue(); 129 done(); 130 } 131 }) 132 /* 133 * @tc.name:SUB_MISC_THEME_screenLock_API_0005 134 * @tc.desc: Lock the screen 135 * @tc.type: Function 136 * @tc.require: SR000HHEJQ 137 */ 138 it("SUB_MISC_THEME_screenLock_API_0005", 0, function (done) { 139 try { 140 screenLock.lock((err, data) => { 141 if (err) { 142 console.info("lock filed: error.code : " + err.code + "error.message :" + err.message); 143 expect(err.code == PERMISSON_ERROR).assertTrue(); 144 } else { 145 console.info("SUB_MISC_THEME_screenLock_API_0005 lock screen success."); 146 let ret = screenLock.isLocked(); 147 expect(ret == true).assertTrue(); 148 } 149 done(); 150 }); 151 } catch (error) { 152 console.error("SUB_MISC_THEME_screenLock_API_0005: error.code : " + error.code + "error.message :" + error.message); 153 expect(error.code == PARAMETER_ERROR).assertTrue(); 154 done(); 155 } 156 }) 157 /* 158 * @tc.name:SUB_MISC_THEME_screenLock_API_0006 159 * @tc.desc: Lock the screen 160 * @tc.type: Function 161 * @tc.require: SR000HHEJQ 162 */ 163 it("SUB_MISC_THEME_screenLock_API_0006", 0, function (done) { 164 try { 165 screenLock.lock().then((data) => { 166 console.info("SUB_MISC_THEME_screenLock_API_0006 lock screen success."); 167 let ret = screenLock.isLocked(); 168 expect(ret == true).assertTrue(); 169 done(); 170 }).catch((err) => { 171 console.error("SUB_MISC_THEME_screenLock_API_0006: error.code : " + err.code + "error.message :" + err.message); 172 expect(err.code == PERMISSON_ERROR).assertTrue(); 173 done(); 174 }); 175 176 } catch (error) { 177 console.error("SUB_MISC_THEME_screenLock_API_0006: error.code : " + error.code + "error.message :" + error.message); 178 expect(error.code == PARAMETER_ERROR).assertTrue(); 179 done(); 180 } 181 }) 182 /* 183 * @tc.name:SUB_MISC_THEME_screenLock_API_0007 184 * @tc.desc: Register system event to screenlockSA. 185 * @tc.type: Function 186 * @tc.require: SR000HHEJQ 187 */ 188 it("SUB_MISC_THEME_screenLock_API_0007", 0, function (done) { 189 try { 190 let ret = screenLock.onSystemEvent((err, data) => { 191 expect(err == undefined).assertTrue(); 192 }); 193 } catch (error) { 194 console.error("SUB_MISC_THEME_screenLock_API_0007: error.code : " + error.code + "error.message :" + error.message); 195 expect(error.code == PERMISSON_ERROR).assertTrue(); 196 done(); 197 } 198 }) 199 /* 200 * @tc.name:SUB_MISC_THEME_screenLock_API_0008 201 * @tc.desc: screenlockAPP send event to screenlockSA 202 * @tc.type: Function 203 * @tc.require: SR000HHEJQ 204 */ 205 it("SUB_MISC_THEME_screenLock_API_0008", 0, function (done) { 206 try { 207 screenLock.sendScreenLockEvent('testparam', 1, (err, data) => { 208 if (err) { 209 console.info("SUB_MISC_THEME_screenLock_API_0007 : error.code : " + err.code + "error.message :" + err.message); 210 expect(err.code == PERMISSON_ERROR).assertTrue(); 211 } else { 212 console.info("SUB_MISC_THEME_screenLock_API_0008: sendScreenLockEvent success "); 213 } 214 done(); 215 }); 216 } catch (error) { 217 console.error("SUB_MISC_THEME_screenLock_API_0007: error.code : " + error.code + "error.message :" + error.message); 218 expect(error.code == PARAMETER_ERROR).assertTrue(); 219 done(); 220 } 221 }) 222 /* 223 * @tc.name:SUB_MISC_THEME_screenLock_API_0009 224 * @tc.desc: screenlockAPP send event to screenlockSA 225 * @tc.type: Function 226 * @tc.require: SR000HHEJQ 227 */ 228 it("SUB_MISC_THEME_screenLock_API_0009", 0, function (done) { 229 screenLock.sendScreenLockEvent('unlockScreenResult', 0).then((data) => { 230 console.info("SUB_MISC_THEME_screenLock_API_0009: sendScreenLockEvent success "); 231 done(); 232 }).catch((err) => { 233 console.error("SUB_MISC_THEME_screenLock_API_0009: error.code : " + err.code + "error.message :" + err.message); 234 expect(err.code == PERMISSON_ERROR).assertTrue(); 235 done(); 236 }); 237 }) 238 /* 239 * @tc.name:SUB_MISC_THEME_screenLock_API_0010 240 * @tc.desc: Checks whether the screen lock of the current device is secure. 241 * @tc.type: Function 242 * @tc.require: SR000HHEJQ 243 */ 244 it("SUB_MISC_THEME_screenLock_API_0010", 0, function (done) { 245 try { 246 let ret = screenLock.isLocked(); 247 screenLock.isScreenLocked().then((result) => { 248 expect(ret === result).assertTrue(); 249 done(); 250 }).catch((error) => { 251 console.error("SUB_MISC_THEME_screenLock_API_0010: error.code : " + error.code + "error.message :" + error.message); 252 expect(true === false).assertTrue(); 253 done(); 254 }); 255 } catch (error) { 256 console.error("SUB_MISC_THEME_screenLock_API_0010: error.code : " + error.code + "error.message :" + error.message); 257 expect(error.code == PARAMETER_ERROR).assertTrue(); 258 done(); 259 } 260 }) 261 /* 262 * @tc.name:SUB_MISC_THEME_screenLock_API_0011 263 * @tc.desc: Checks whether the screen is currently locked. 264 * @tc.type: Function 265 * @tc.require: SR000HHEJQ 266 */ 267 it("SUB_MISC_THEME_screenLock_API_0011", 0, function (done) { 268 try { 269 let ret = screenLock.isSecure(); 270 screenLock.isSecureMode().then((result) => { 271 expect(ret == result).assertTrue(); 272 done(); 273 }).catch((error) => { 274 console.error("SUB_MISC_THEME_screenLock_API_0011: error.code : " + error.code + "error.message :" + error.message); 275 expect(true === false).assertTrue(); 276 done(); 277 }); 278 } catch (error) { 279 console.error("SUB_MISC_THEME_screenLock_API_0011: error.code : " + error.code + "error.message :" + error.message); 280 expect(error.code == PARAMETER_ERROR).assertTrue(); 281 done(); 282 } 283 }) 284 /* 285 * @tc.name:SUB_MISC_THEME_screenLock_API_0012 286 * @tc.desc: Unlock the screen 287 * @tc.type: Function 288 * @tc.require: SR000HHEJQ 289 */ 290 it("SUB_MISC_THEME_screenLock_API_0012", 0, function (done) { 291 try { 292 screenLock.unlockScreen((err, data) => { 293 if (err) { 294 console.info("SUB_MISC_THEME_screenLock_API_0012: error.code : " + err.code + "error.message :" + err.message); 295 expect(err.code == PERMISSON_ERROR).assertTrue(); 296 } else { 297 console.info("SUB_MISC_THEME_screenLock_API_0012: unlock screen success."); 298 let ret = screenLock.isLocked(); 299 expect(ret == false).assertTrue(); 300 } 301 done(); 302 }); 303 } catch (error) { 304 console.error("SUB_MISC_THEME_screenLock_API_0012: error.code : " + error.code + "error.message :" + error.message); 305 expect(error.code == PARAMETER_ERROR).assertTrue(); 306 done(); 307 } 308 }) 309 /* 310 * @tc.name:SUB_MISC_THEME_screenLock_API_0013 311 * @tc.desc: Unlock the screen 312 * @tc.type: Function 313 * @tc.require: SR000HHEJQ 314 */ 315 it("SUB_MISC_THEME_screenLock_API_0013", 0, function (done) { 316 try { 317 screenLock.unlockScreen().then((data) => { 318 console.info("SUB_MISC_THEME_screenLock_API_0013: send unlock issue success retCode."); 319 let ret = screenLock.isLocked(); 320 expect(ret == false).assertTrue(); 321 done(); 322 }).catch((err) => { 323 console.error("SUB_MISC_THEME_screenLock_API_0013: error.code : " + err.code + "error.message :" + err.message); 324 expect(err.code == PERMISSON_ERROR).assertTrue(); 325 done(); 326 }); 327 } catch (error) { 328 console.error("SUB_MISC_THEME_screenLock_API_0013: error.code : " + error.code + "error.message :" + error.message); 329 expect(error.code == PARAMETER_ERROR).assertTrue(); 330 done(); 331 } 332 }) 333 334})