1/*
2 * Copyright (c) 2024 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
16import {describe, beforeAll, beforeEach, afterEach, afterAll, it, expect} from 'deccjsunit/index'
17import cloudData from '@ohos.data.cloudData';
18
19const TAG = "[CLOUD_CLIENT_JSKITS_TEST]"
20describe('CloudClientTest', function () {
21
22    /**
23     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
24     * @tc.name setCloudStrategyTest001
25     * @tc.desc Test Js Api setCloudStrategy with invalid args.
26     */
27    it('setCloudStrategyTest001', 0, async function (done) {
28        console.log(TAG + "************* setCloudStrategyTest001 start *************");
29        try {
30            cloudData.setCloudStrategy().then(() => {
31                expect(null).assertFail();
32            }).catch(err => {
33                console.error(TAG + `setCloudStrategyTest001, errcode:${JSON.stringify(err)}.`);
34                expect(null).assertFail();
35            });
36        } catch (err) {
37            console.error(TAG + `setCloudStrategyTest001, errcode:${JSON.stringify(err)}.`);
38            expect(err.code == 401).assertTrue();
39        }
40        done()
41        console.log(TAG + "************* setCloudStrategyTest001 end *************");
42    })
43
44    /**
45     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
46     * @tc.name setCloudStrategyTest002
47     * @tc.desc Test Js Api setCloudStrategy with invalid args.
48     */
49    it('setCloudStrategyTest002', 0, async function (done) {
50        console.log(TAG + "************* setCloudStrategyTest002 start *************");
51        try {
52            cloudData.setCloudStrategy(undefined).then(() => {
53                expect(null).assertFail();
54            }).catch(err => {
55                console.error(TAG + `setCloudStrategyTest002, errcode:${JSON.stringify(err)}.`);
56                expect(null).assertFail();
57            });
58        } catch (err) {
59            console.error(TAG + `setCloudStrategyTest002, errcode:${JSON.stringify(err)}.`);
60            expect(err.code == 401).assertTrue();
61        }
62        done()
63        console.log(TAG + "************* setCloudStrategyTest002 end *************");
64    })
65
66    /**
67     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
68     * @tc.name setCloudStrategyTest003
69     * @tc.desc Test Js Api setCloudStrategy with invalid args.
70     */
71    it('setCloudStrategyTest003', 0, async function (done) {
72        console.log(TAG + "************* setCloudStrategyTest003 start *************");
73        try {
74            cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, [undefined, "test"]).then(() => {
75                expect(null).assertFail();
76            }).catch(err => {
77                console.error(TAG + `setCloudStrategyTest003, errcode:${JSON.stringify(err)}.`);
78                expect(null).assertFail();
79            });
80        } catch (err) {
81            console.error(TAG + `setCloudStrategyTest003, errcode:${JSON.stringify(err)}.`);
82            expect(err.code == 401).assertTrue();
83        }
84        done()
85        console.log(TAG + "************* setCloudStrategyTest003 end *************");
86    })
87
88    /**
89     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
90     * @tc.name setCloudStrategyTest004
91     * @tc.desc Test Js Api setCloudStrategy with invalid args.
92     */
93    it('setCloudStrategyTest004', 0, async function (done) {
94        console.log(TAG + "************* setCloudStrategyTest004 start *************");
95        try {
96            cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, [cloudData.NetWorkStrategy.WIFI, "test"]).then(() => {
97                expect(null).assertFail();
98            }).catch(err => {
99                console.error(TAG + `setCloudStrategyTest004, errcode:${JSON.stringify(err)}.`);
100                expect(null).assertFail();
101            });
102        } catch (err) {
103            console.error(TAG + `setCloudStrategyTest004, errcode:${JSON.stringify(err)}.`);
104            expect(err.code == 401).assertTrue();
105        }
106        done()
107        console.log(TAG + "************* setCloudStrategyTest004 end *************");
108    })
109
110    /**
111     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
112     * @tc.name setCloudStrategyTest005
113     * @tc.desc Test Js Api setCloudStrategy with valid args.
114     */
115    it('setCloudStrategyTest005', 0, async function (done) {
116        console.log(TAG + "************* setCloudStrategyTest005 start *************");
117        try {
118            await cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, [cloudData.NetWorkStrategy.WIFI]).then(() => {
119                expect(true).assertTrue();
120            }).catch(err => {
121                console.error(TAG + `setCloudStrategyTest005, errcode:${JSON.stringify(err)}.`);
122                expect(null).assertFail();
123            });
124        } catch (err) {
125            console.error(TAG + `setCloudStrategyTest005, errcode:${JSON.stringify(err)}.`);
126            expect(null).assertFail();
127        }
128        done()
129        console.log(TAG + "************* setCloudStrategyTest005 end *************");
130    })
131
132    /**
133     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
134     * @tc.name setCloudStrategyTest006
135     * @tc.desc Test Js Api setCloudStrategy with valid args.
136     */
137    it('setCloudStrategyTest006', 0, async function (done) {
138        console.log(TAG + "************* setCloudStrategyTest006 start *************");
139        try {
140            await cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, [cloudData.NetWorkStrategy.CELLULAR, cloudData.NetWorkStrategy.WIFI]).then(() => {
141                expect(true).assertTrue();
142            }).catch(err => {
143                console.error(TAG + `setCloudStrategyTest006, errcode:${JSON.stringify(err)}.`);
144                expect(null).assertFail();
145            });
146        } catch (err) {
147            console.error(TAG + `setCloudStrategyTest006, errcode:${JSON.stringify(err)}.`);
148            expect(null).assertFail();
149        }
150        done()
151        console.log(TAG + "************* setCloudStrategyTest006 end *************");
152    })
153
154    /**
155     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
156     * @tc.name setCloudStrategyTest007
157     * @tc.desc Test Js Api setCloudStrategy with valid args.
158     */
159    it('setCloudStrategyTest007', 0, async function (done) {
160        console.log(TAG + "************* setCloudStrategyTest007 start *************");
161        try {
162            await cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK).then(() => {
163                expect(true).assertTrue();
164            }).catch(err => {
165                console.error(TAG + `setCloudStrategyTest007, errcode:${JSON.stringify(err)}.`);
166                expect(null).assertFail();
167            });
168        } catch (err) {
169            console.error(TAG + `setCloudStrategyTest007, errcode:${JSON.stringify(err)}.`);
170            expect(null).assertFail();
171        }
172        done()
173        console.log(TAG + "************* setCloudStrategyTest007 end *************");
174    })
175
176    /**
177     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
178     * @tc.name setCloudStrategyTest008
179     * @tc.desc Test Js Api setCloudStrategy with valid args.
180     */
181    it('setCloudStrategyTest008', 0, async function (done) {
182        console.log(TAG + "************* setCloudStrategyTest008 start *************");
183        try {
184            await cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, undefined).then(() => {
185                expect(true).assertTrue();
186            }).catch(err => {
187                console.error(TAG + `setCloudStrategyTest008, errcode:${JSON.stringify(err)}.`);
188                expect(null).assertFail();
189            });
190        } catch (err) {
191            console.error(TAG + `setCloudStrategyTest008, errcode:${JSON.stringify(err)}.`);
192            expect(null).assertFail();
193        }
194        done()
195        console.log(TAG + "************* setCloudStrategyTest008 end *************");
196    })
197
198    /**
199     * @tc.number SUB_DDM_CLOUD_CLIENT_0010
200     * @tc.name setCloudStrategyTest009
201     * @tc.desc Test Js Api setCloudStrategy with valid args.
202     */
203    it('setCloudStrategyTest009', 0, async function (done) {
204        console.log(TAG + "************* setCloudStrategyTest009 start *************");
205        try {
206            await cloudData.setCloudStrategy(cloudData.StrategyType.NETWORK, null).then(() => {
207                expect(true).assertTrue();
208            }).catch(err => {
209                console.error(TAG + `setCloudStrategyTest009, errcode:${JSON.stringify(err)}.`);
210                expect(null).assertFail();
211            });
212        } catch (err) {
213            console.error(TAG + `setCloudStrategyTest009, errcode:${JSON.stringify(err)}.`);
214            expect(null).assertFail();
215        }
216        done()
217        console.log(TAG + "************* setCloudStrategyTest009 end *************");
218    })
219})