• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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})