1/*
2 * Copyright (c) 2023 Huawei 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 */
15
16
17import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
18import cloudData from '@ohos.data.cloudData';
19
20describe('CloudConfigCallbackTest', function () {
21    /**
22     * @tc.name EnabledCloudInvalidArgsCallbackTest
23     * @tc.desc Test Js Api EnabledCloud with invalid args
24     * @tc.type: FUNC
25     * @tc.require: issueNumber
26     */
27    it('EnabledCloudInvalidArgsCallbackTest', 0, async function (done) {
28        console.info('EnabledCloudInvalidArgsCallbackTest');
29        try {
30            let account = "test_id";
31            await cloudData.Config.enableCloud(account, null, function (err) {
32                if (err == undefined) {
33                    expect(null).assertFail();
34                    console.info('EnabledCloudInvalidArgsCallbackTest enableCloud success');
35                    done();
36                    return;
37                }
38                console.error('EnabledCloudInvalidArgsCallbackTest enableCloud fail' + `, error code is ${err.code}, message is ${err.message}`);
39                expect(null).assertFail();
40                done();
41            });
42        } catch (e) {
43            console.error('EnabledCloudInvalidArgsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
44            expect(e.code == 401).assertTrue();
45            done();
46        }
47    })
48
49
50    /**
51     * @tc.name EnabledCloudInvalidArgsNumCallbackTest
52     * @tc.desc Test Js Api EnabledCloud which parameters number are less
53     * @tc.type: FUNC
54     * @tc.require: issueNumber
55     */
56    it('EnabledCloudInvalidArgsNumCallbackTest', 0, function (done) {
57        console.info('EnabledCloudInvalidArgsNumCallbackTest');
58        try {
59            let account = "test_id";
60            cloudData.Config.enableCloud(account, function (err) {
61                if (err == undefined) {
62                    expect(null).assertFail();
63                    console.info('EnabledCloudInvalidArgsNumCallbackTest enableCloud success');
64                    done();
65                    return;
66                }
67                console.error('EnabledCloudCallbackTest enableCloud fail' + `, error code is ${err.code}, message is ${err.message}`);
68                expect(null).assertFail();
69                done();
70            });
71        } catch (e) {
72            console.error('EnabledCloudCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
73            expect(e.code == 401).assertTrue();
74            done();
75        }
76    })
77
78    /**
79     * @tc.name DisableCloudInvalidArgsCallbackTest
80     * @tc.desc Test Js Api DisableCloud with invalid args
81     * @tc.type: FUNC
82     * @tc.require: issueNumber
83     */
84    it('DisableCloudInvalidArgsCallbackTest', 0, function (done) {
85        console.info('DisableCloudInvalidArgsCallbackTest');
86        try {
87            cloudData.Config.disableCloud(null, function (err) {
88                if (err == undefined) {
89                    expect(null).assertFail();
90                    console.info('DisableCloudInvalidArgsCallbackTest disableCloud success');
91                    done();
92                    return;
93                }
94                console.error('DisableCloudInvalidArgsCallbackTest disableCloud fail' + `, error code is ${err.code}, message is ${err.message}`);
95                expect(null).assertFail();
96                done();
97            });
98        } catch (e) {
99            console.error('DisableCloudInvalidArgsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
100            expect(e.code == 401).assertTrue();
101            done();
102        }
103    })
104
105    /**
106     * @tc.name DisableCloudInvalidArgsNumsCallbackTest
107     * @tc.desc Test Js Api DisableCloud which parameters number are less
108     * @tc.type: FUNC
109     * @tc.require: issueNumber
110     */
111    it('DisableCloudInvalidArgsNumsCallbackTest', 0, function (done) {
112        console.info('DisableCloudInvalidArgsNumsCallbackTest');
113        try {
114            cloudData.Config.disableCloud(function (err) {
115                if (err == undefined) {
116                    expect(null).assertFail();
117                    console.info('DisableCloudInvalidArgsNumsCallbackTest disableCloud success');
118                    done();
119                    return;
120                }
121                console.error('DisableCloudInvalidArgsNumsCallbackTest disableCloud fail' + `, error code is ${err.code}, message is ${err.message}`);
122                expect(null).assertFail();
123                done();
124            });
125        } catch (e) {
126            console.error('DisableCloudInvalidArgsNumsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
127            expect(e.code == 401).assertTrue();
128            done();
129        }
130    })
131
132    /**
133     * @tc.name ChangeAppCloudInvalidArgsCallbackTest
134     * @tc.desc Test Js Api ChangeAppCloudSwitch with invalid args
135     * @tc.type: FUNC
136     * @tc.require: issueNumber
137     */
138    it('ChangeAppCloudInvalidArgsCallbackTest', 0, function (done) {
139        console.info('ChangeAppCloudInvalidArgsCallbackTest');
140        try {
141            let account = "test_id";
142            let bundleName = "test_bundleName";
143            cloudData.Config.changeAppCloudSwitch(account, bundleName, null, function (err) {
144                if (err == undefined) {
145                    expect(null).assertFail();
146                    console.info('ChangeAppCloudInvalidArgsCallbackTest changeAppCloudSwitch success');
147                    done();
148                    return;
149                }
150                console.error('ChangeAppCloudInvalidArgsCallbackTest changeAppCloudSwitch fail' + `, error code is ${err.code}, message is ${err.message}`);
151                expect(null).assertFail();
152                done();
153            });
154        } catch (e) {
155            console.error('ChangeAppCloudInvalidArgsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
156            expect(e.code == 401).assertTrue();
157            done();
158        }
159    })
160
161    /**
162     * @tc.name ChangeAppCloudInvalidArgsNumsCallbackTest
163     * @tc.desc Test Js Api ChangeAppCloudSwitch which parameters number are less
164     * @tc.type: FUNC
165     * @tc.require: issueNumber
166     */
167    it('ChangeAppCloudInvalidArgsNumsCallbackTest', 0, function (done) {
168        console.info('ChangeAppCloudInvalidArgsNumsCallbackTest');
169        try {
170            let account = "test_id";
171            let bundleName = "test_bundleName";
172            cloudData.Config.changeAppCloudSwitch(account, bundleName, function (err) {
173                if (err == undefined) {
174                    expect(null).assertFail();
175                    console.info('ChangeAppCloudInvalidArgsNumsCallbackTest changeAppCloudSwitch success');
176                    done();
177                    return;
178                }
179                console.error('ChangeAppCloudInvalidArgsNumsCallbackTest changeAppCloudSwitch fail' + `, error code is ${err.code}, message is ${err.message}`);
180                expect(null).assertFail();
181                done();
182            });
183        } catch (e) {
184            console.error('ChangeAppCloudInvalidArgsNumsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
185            expect(e.code == 401).assertTrue();
186            done();
187        }
188    })
189
190    /**
191     * @tc.name NotifyChangeInvalidArgsCallbackTest
192     * @tc.desc Test Js Api NotifyChange with invalid args
193     * @tc.type: FUNC
194     * @tc.require: issueNumber
195     */
196    it('NotifyChangeInvalidArgsCallbackTest', 0, function (done) {
197        console.info('NotifyChangeInvalidArgsCallbackTest');
198        try {
199            let account = "test_id";
200            cloudData.Config.notifyDataChange(account, null, function (err) {
201                if (err == undefined) {
202                    expect(null).assertFail();
203                    console.info('NotifyChangeInvalidArgsCallbackTest notifyDataChange success');
204                    done();
205                    return;
206                }
207                console.error('NotifyChangeInvalidArgsCallbackTest notifyDataChange fail' + `, error code is ${err.code}, message is ${err.message}`);
208                expect(null).assertFail();
209                done();
210            });
211        } catch (e) {
212            console.error('NotifyChangeInvalidArgsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
213            expect(e.code == 401).assertTrue();
214            done();
215        }
216    })
217
218    /**
219     * @tc.name NotifyChangeInvalidArgsNumsCallbackTest
220     * @tc.desc Test Js Api NotifyChange which parameters number are less
221     * @tc.type: FUNC
222     * @tc.require: issueNumber
223     */
224    it('NotifyChangeInvalidArgsNumsCallbackTest', 0, function (done) {
225        console.info('NotifyChangeInvalidArgsNumsCallbackTest');
226        try {
227            let account = "test_id";
228            cloudData.Config.notifyDataChange(account, function (err) {
229                if (err == undefined) {
230                    expect(null).assertFail();
231                    console.info('NotifyChangeInvalidArgsNumsCallbackTest notifyDataChange success');
232                    done();
233                    return;
234                }
235                console.error('NotifyChangeInvalidArgsNumsCallbackTest notifyDataChange fail' + `, error code is ${err.code}, message is ${err.message}`);
236                expect(null).assertFail();
237                done();
238            });
239        } catch (e) {
240            console.error('NotifyChangeInvalidArgsNumsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
241            expect(e.code == 401).assertTrue();
242            done();
243        }
244    })
245
246    /**
247     * @tc.name NotifyDataChangeInvalidArgsCallbackTest
248     * @tc.desc Test Js Api NotifyDataChange with invalid args
249     * @tc.type: FUNC
250     * @tc.require: issueNumber
251     */
252    it('NotifyDataChangeInvalidArgsCallbackTest', 0, function (done) {
253        console.info('NotifyDataChangeInvalidArgsCallbackTest');
254        try {
255            cloudData.Config.notifyDataChange(null,  function(err) {
256                if (err == undefined) {
257                    expect(null).assertFail();
258                    console.info('NotifyDataChangeInvalidArgsCallbackTest notifyDataChange success');
259                    done();
260                    return;
261                }
262                console.error('NotifyDataChangeInvalidArgsCallbackTest notifyDataChange fail' + `, error code is ${err.code}, message is ${err.message}`);
263                expect(null).assertFail();
264                done();
265            });
266        } catch (e) {
267            console.error('NotifyDataChangeInvalidArgsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
268            expect(e.code == 401).assertTrue();
269            done();
270        }
271    })
272
273    /**
274     * @tc.name NotifyDataChangeInvalidArgsNumsCallbackTest
275     * @tc.desc Test Js Api NotifyDataChange which parameters number are less
276     * @tc.type: FUNC
277     * @tc.require: issueNumber
278     */
279    it('NotifyDataChangeInvalidArgsNumsCallbackTest', 0, function (done) {
280        console.info('NotifyDataChangeInvalidArgsNumsCallbackTest');
281        try {
282            cloudData.Config.notifyDataChange(function (err) {
283                if (err == undefined) {
284                    expect(null).assertFail();
285                    console.info('NotifyChangeInvalidArgsNumsCallbackTest notifyDataChange success');
286                    done();
287                    return;
288                }
289                console.error('NotifyChangeInvalidArgsNumsCallbackTest notifyDataChange fail' + `, error code is ${err.code}, message is ${err.message}`);
290                expect(null).assertFail();
291                done();
292            });
293        } catch (e) {
294            console.error('NotifyChangeInvalidArgsNumsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
295            expect(e.code == 401).assertTrue();
296            done();
297        }
298    })
299
300    /**
301     * @tc.name ClearInvalidArgsNumsCallbackTest
302     * @tc.desc Test Js Api Clear which parameters number are less
303     * @tc.type: FUNC
304     * @tc.require: issueNumber
305     */
306    it('ClearInvalidArgsNumsCallbackTest', 0, function (done) {
307        console.info('ClearInvalidArgsNumsCallbackTest');
308        try {
309            let account = "test_id";
310            cloudData.Config.clear(account, function (err) {
311                if (err == undefined) {
312                    expect(null).assertFail();
313                    console.info('ClearInvalidArgsNumsCallbackTest clear success');
314                    done();
315                    return;
316                }
317                console.error('ClearInvalidArgsNumsCallbackTest clear fail' + `, error code is ${err.code}, message is ${err.message}`);
318                expect(null).assertFail();
319                done();
320            });
321        } catch (e) {
322            console.error('ClearInvalidArgsNumsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
323            expect(e.code == 401).assertTrue();
324            done();
325        }
326    })
327
328    /**
329     * @tc.name ClearInvalidArgsCallbackTest
330     * @tc.desc Test Js Api Clear which parameters are invalid
331     * @tc.type: FUNC
332     * @tc.require: issueNumber
333     */
334    it('ClearInvalidArgsCallbackTest', 0, function (done) {
335        console.info('ClearInvalidArgsNumsCallbackTest');
336        try {
337            let account = "test_id";
338            let bundleName1 = "test_bundleName1";
339            let appActions = {[bundleName1]: 3};
340            cloudData.Config.clear(account, appActions, function (err) {
341                if (err == undefined) {
342                    expect(null).assertFail();
343                    console.info('CleanInvalidArgsCallbackTest clear success');
344                    done();
345                    return;
346                }
347                console.error('ClearInvalidArgsCallbackTest clear fail' + `, error code is ${err.code}, message is ${err.message}`);
348                expect(null).assertFail();
349                done();
350            });
351        } catch (e) {
352            console.error('ClearInvalidArgsCallbackTest fail' + `, error code is ${e.code}, message is ${e.message}`);
353            expect(e.code == 401).assertTrue();
354            done();
355        }
356    })
357})
358