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 #include "napi/native_api.h"
16 #include "hilog/log.h"
17 #include <string>
18 #include "database/preferences/oh_preferences_option.h"
19 #include "database/preferences/oh_preferences.h"
20 #include "database/preferences/oh_preferences_err_code.h"
21 #include "database/preferences/oh_preferences_value.h"
22 #include "common.h"
23 #include <iostream>
24 #include <map>
25 #include <ctime>
26 #include <condition_variable>
27 #include <cstdint>
28 #include <functional>
29 #include <list>
30 #include <map>
31 #include <memory>
32 #include <mutex>
33 #include <thread>
34 #include <vector>
35 #include <random>
36 #include <chrono>
37 
38 const char *TAG = "testLog";
39 
40 static std::vector< OH_PreferencesPair *> changedData;
41 static OH_PreferencesPair *g_pairs = nullptr;
42 
43 int g_changeNum = 0;
DataChangeObserverCallback(void *context, const OH_PreferencesPair *pairs, uint32_t count)44 void DataChangeObserverCallback(void *context, const OH_PreferencesPair *pairs, uint32_t count) {
45     g_changeNum = 0;
46     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "DataChangeObserverCallback count= %{public}d", count);
47     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "DataChangeObserverCallback g_changeNum= %{public}d", g_changeNum);
48 
49     for (uint32_t i = 0; i < count; i++) {
50         const char *keyRet = OH_PreferencesPair_GetKey(pairs, i);
51         const OH_PreferencesValue *pValue = OH_PreferencesPair_GetPreferencesValue(pairs, i);
52         Preference_ValueType type = OH_PreferencesValue_GetValueType(pValue);
53         if (type == Preference_ValueType::PREFERENCE_TYPE_INT) {
54             int intV = 0;
55             OH_PreferencesValue_GetInt(pValue, &intV);
56         } else if (type == Preference_ValueType::PREFERENCE_TYPE_BOOL) {
57             bool boolV = false;
58             OH_PreferencesValue_GetBool(pValue, &boolV);
59         } else if (type == Preference_ValueType::PREFERENCE_TYPE_STRING) {
60             char *stringV = nullptr;
61             uint32_t len = 0;
62             OH_PreferencesValue_GetString(pValue, &stringV, &len);
63             OH_Preferences_FreeString(stringV);
64         } else if (type == Preference_ValueType::PREFERENCE_TYPE_NULL) {
65             OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "Preference_ValueType::Preference_TYPE_NULL");
66         } else if (type == Preference_ValueType::PREFERENCE_TYPE_BUTT) {
67             OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "Preference_ValueType::TYPE_BUTT");
68         }
69         g_changeNum++;
70         OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "DataChangeObserverCallback count= %{public}d", count);
71         OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "DataChangeObserverCallback g_changeNum= %{public}d", g_changeNum);
72     }
73 }
74 
75 
76 std::map<std::string, int> intDataMap = {{"ndktest_int_key_1", -2147483648},
77                                          {"ndktest_int_key_2", -1},
78                                          {"ndktest_int_key_3", 0},
79                                          {"ndktest_int_key_4", 1},
80                                          {"ndktest_int_key_5", 2147483647}};
81 std::map<std::string, std::string> stringDataMap = {
82     {"ndktest_string_key_1", "2679b2c70120214984b3aec34fc849dc996f40e3cdb60f3b3eaf8abe2559439a"},
83     {"ndktest_string_key_2", "+88780079687688"},
84     {"ndktest_string_key_3", "/data/storage/el2/base/files/Thumbnail_1717209543267.jpg"},
85     {"ndktest_string_key_4", "688"},
86     {"ndktest_string_key_5", "https://upfile-drcn.platform.hicloud.com/"}};
87 std::map<std::string, bool> boolDataMap = {{"ndktest_bool_key_1", true},
88                                            {"ndktest_bool_key_2", false},
89                                            {"ndktest_bool_key_3", false},
90                                            {"ndktest_bool_key_4", true},
91                                            {"ndktest_bool_key_5", true}};
92 
SetAllValuesWithCheck(OH_Preferences *pref)93 void SetAllValuesWithCheck(OH_Preferences *pref) {
94     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "SetAllValuesWithCheck ");
95     for (auto &[key, value] : intDataMap) {
96         OH_Preferences_SetInt(pref, key.c_str(), value);
97         int res;
98         OH_Preferences_GetInt(pref, key.c_str(), &res);
99     }
100     for (auto &[key, value] : stringDataMap) {
101         OH_Preferences_SetString(pref, key.c_str(), value.c_str());
102         char *res = nullptr;
103         uint32_t len = 0;
104         OH_Preferences_GetString(pref, key.c_str(), &res, &len);
105         OH_Preferences_FreeString(res);
106     }
107     for (auto &[key, value] : boolDataMap) {
108         OH_Preferences_SetBool(pref, key.c_str(), value);
109         bool res;
110         OH_Preferences_GetBool(pref, key.c_str(), &res);
111     }
112 }
113 
OH_PreferencesOption_Create_0100(napi_env env, napi_callback_info info)114 static napi_value OH_PreferencesOption_Create_0100(napi_env env, napi_callback_info info)
115 {
116     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_Create_0100 ------------- ");
117     OH_PreferencesOption *option = OH_PreferencesOption_Create();
118     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
119     int errcode = OH_PreferencesOption_Destroy(option);
120     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
121     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_Create_0100 end------------- ");
122 
123     napi_value ret;
124     napi_create_int32(env, errcode, &ret);
125     return ret;
126 }
127 
OH_PreferencesOption_SetFilePath_0100(napi_env env, napi_callback_info info)128 static napi_value OH_PreferencesOption_SetFilePath_0100(napi_env env, napi_callback_info info)
129 {
130     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetFilePath_0100 ------------- ");
131     OH_PreferencesOption *option = OH_PreferencesOption_Create();
132     int errcode = OH_PreferencesOption_SetFileName(option, "test.db");
133     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
134 
135     errcode = OH_PreferencesOption_Destroy(option);
136     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
137     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetFilePath_0100 end------------- ");
138 
139     napi_value ret;
140     napi_create_int32(env, errcode, &ret);
141     return ret;
142 }
143 
OH_PreferencesOption_SetFilePath_0200(napi_env env, napi_callback_info info)144 static napi_value OH_PreferencesOption_SetFilePath_0200(napi_env env, napi_callback_info info)
145 {
146     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetFilePath_0200 ------------- ");
147     int rettest = 0;
148     OH_PreferencesOption *option = OH_PreferencesOption_Create();
149     int errcode = OH_PreferencesOption_SetFileName(option, "");
150     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetFileName(option, "") errcode= %{public}d", errcode);
151     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetFileName(option, "") is fail.");
152 
153     errcode = OH_PreferencesOption_SetFileName(option, nullptr);
154     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetFileName(option, nullptr)  errcode= %{public}d", errcode);
155     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetFileName(option, nullptr) is fail.");
156 
157     errcode = OH_PreferencesOption_SetFileName(option, NULL);
158     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetFileName(option, NULL)  errcode= %{public}d", errcode);
159     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetFileName(option, NULL)  is fail.");
160 
161     errcode = OH_PreferencesOption_SetFileName(nullptr, "test.db");
162     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetFilePath(nullptr  errcode= %{public}d", errcode);
163     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetFilePath(nullptr  is fail.");
164 
165     errcode = OH_PreferencesOption_SetFileName(NULL, "test.db");
166     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetFilePath(NULL  errcode= %{public}d", errcode);
167     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetFilePath(NULL is fail.");
168 
169     errcode = OH_PreferencesOption_Destroy(option);
170     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
171     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetFilePath_0200 end------------- ");
172 
173     napi_value ret;
174     napi_create_int32(env, rettest, &ret);
175     return ret;
176 }
177 
OH_PreferencesOption_SetBundleName_0100(napi_env env, napi_callback_info info)178 static napi_value OH_PreferencesOption_SetBundleName_0100(napi_env env, napi_callback_info info)
179 {
180     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetFilePath_0100 ------------- ");
181     OH_PreferencesOption *option = OH_PreferencesOption_Create();
182     int errcode = OH_PreferencesOption_SetBundleName(option, "test");
183     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
184 
185     errcode = OH_PreferencesOption_SetBundleName(option, "");
186     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
187 
188     std::string bName("V_*%^=&*_~!@$%^&*()_<>?:+(%$+-*/");
189     errcode = OH_PreferencesOption_SetBundleName(option, bName.c_str());
190     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetBundleName bName is fail.");
191 
192     std::string bName2(50, 'a');
193     errcode = OH_PreferencesOption_SetBundleName(option, bName2.c_str());
194     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetBundleName bName2 is fail.");
195 
196     std::string bName3(60, 'b');
197     errcode = OH_PreferencesOption_SetBundleName(option, bName3.c_str());
198     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetBundleName bName3 is fail.");
199 
200     errcode = OH_PreferencesOption_Destroy(option);
201     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
202     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetFilePath_0100 end------------- ");
203 
204     napi_value ret;
205     napi_create_int32(env, errcode, &ret);
206     return ret;
207 }
208 
OH_PreferencesOption_SetBundleName_0200(napi_env env, napi_callback_info info)209 static napi_value OH_PreferencesOption_SetBundleName_0200(napi_env env, napi_callback_info info)
210 {
211     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetBundleName_0200 ------------- ");
212     int rettest = 0;
213     OH_PreferencesOption *option = OH_PreferencesOption_Create();
214 
215     int errcode = OH_PreferencesOption_SetBundleName(option, NULL);
216     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetBundleName2 errcode= %{public}d", errcode);
217     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetBundleName is fail.");
218 
219     errcode = OH_PreferencesOption_SetBundleName(option, nullptr);
220     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetBundleName3 errcode= %{public}d", errcode);
221     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetBundleName is fail.");
222 
223     errcode = OH_PreferencesOption_SetBundleName(nullptr, "test");
224     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetBundleName4 errcode= %{public}d", errcode);
225     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetBundleName is fail.");
226 
227     errcode = OH_PreferencesOption_SetBundleName(NULL, "test");
228     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetBundleName5 errcode= %{public}d", errcode);
229     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetBundleName is fail.");
230 
231     errcode = OH_PreferencesOption_Destroy(option);
232     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
233     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetBundleName_0200 end------------- ");
234 
235     napi_value ret;
236     napi_create_int32(env, rettest, &ret);
237     return ret;
238 }
239 
OH_PreferencesOption_SetDataGroupId_0100(napi_env env, napi_callback_info info)240 static napi_value OH_PreferencesOption_SetDataGroupId_0100(napi_env env, napi_callback_info info)
241 {
242     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetDataGroupId_0100 ------------- ");
243     OH_PreferencesOption *option = OH_PreferencesOption_Create();
244 
245     int errcode = OH_PreferencesOption_SetDataGroupId(option, "");
246     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetDataGroupId is fail.");
247 
248     errcode = OH_PreferencesOption_SetDataGroupId(option, "id");
249     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetDataGroupId is fail.");
250     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
251     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
252     NAPI_ASSERT(env, pref == nullptr, "OH_Preferences_Open is fail.");
253 
254     errcode = OH_PreferencesOption_SetDataGroupId(option, "123456");
255     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetDataGroupId is fail.");
256     OH_Preferences *pref2 = OH_Preferences_Open(option, &errcode);
257     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
258     NAPI_ASSERT(env, pref2 == nullptr, "OH_Preferences_Open 2 is fail.");
259 
260     errcode = OH_PreferencesOption_Destroy(option);
261     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
262     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetDataGroupId_0100 end------------- ");
263 
264     napi_value ret;
265     napi_create_int32(env, errcode, &ret);
266     return ret;
267 }
268 
OH_PreferencesOption_SetDataGroupId_0200(napi_env env, napi_callback_info info)269 static napi_value OH_PreferencesOption_SetDataGroupId_0200(napi_env env, napi_callback_info info)
270 {
271     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetDataGroupId_0200 ------------- ");
272     int rettest = 0;
273     OH_PreferencesOption *option = OH_PreferencesOption_Create();
274 
275     int errcode = OH_PreferencesOption_SetDataGroupId(option, NULL);
276     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetDataGroupId errcode= %{public}d", errcode);
277     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetDataGroupId is fail.");
278 
279     errcode = OH_PreferencesOption_SetDataGroupId(option, nullptr);
280     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetDataGroupId errcode= %{public}d", errcode);
281     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetDataGroupId is fail.");
282 
283     errcode = OH_PreferencesOption_SetDataGroupId(nullptr, "test");
284     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetDataGroupId errcode= %{public}d", errcode);
285     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetDataGroupId is fail.");
286 
287     errcode = OH_PreferencesOption_SetDataGroupId(NULL, "test");
288     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_PreferencesOption_SetDataGroupId errcode= %{public}d", errcode);
289     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_SetDataGroupId is fail.");
290 
291     errcode = OH_PreferencesOption_Destroy(option);
292     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
293     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_SetDataGroupId_0200 end------------- ");
294 
295     napi_value ret;
296     napi_create_int32(env, rettest, &ret);
297     return ret;
298 }
299 
OH_PreferencesOption_Destroy_0100(napi_env env, napi_callback_info info)300 static napi_value OH_PreferencesOption_Destroy_0100(napi_env env, napi_callback_info info)
301 {
302     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_Destroy_0100 ------------- ");
303     OH_PreferencesOption *option = OH_PreferencesOption_Create();
304     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
305 
306     int errcode = OH_PreferencesOption_Destroy(option);
307     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
308     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_Destroy_0100 end------------- ");
309 
310     napi_value ret;
311     napi_create_int32(env, errcode, &ret);
312     return ret;
313 }
314 
OH_PreferencesOption_Destroy_0200(napi_env env, napi_callback_info info)315 static napi_value OH_PreferencesOption_Destroy_0200(napi_env env, napi_callback_info info)
316 {
317     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_Destroy_0200 ------------- ");
318     int err = 0;
319     OH_PreferencesOption *option = OH_PreferencesOption_Create();
320     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
321     int errcode = OH_PreferencesOption_Destroy(NULL);
322     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_Destroy is fail.");
323 
324     errcode = OH_PreferencesOption_Destroy(nullptr);
325     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesOption_Destroy is fail.");
326     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_PreferencesOption_Destroy_0200 end------------- ");
327 
328     napi_value ret;
329     napi_create_int32(env, err, &ret);
330     return ret;
331 }
332 
OH_Preferences_Open_0100(napi_env env, napi_callback_info info)333 static napi_value OH_Preferences_Open_0100(napi_env env, napi_callback_info info)
334 {
335     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_Open_0100 ------------- ");
336     OH_PreferencesOption *option = OH_PreferencesOption_Create();
337     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
338     OH_PreferencesOption_SetFileName(option, "test.db");
339     OH_PreferencesOption_SetBundleName(option, "test");
340     OH_PreferencesOption_SetDataGroupId(option, "");
341 
342     int errcode = 1;
343     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
344     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
345     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
346 
347     errcode = OH_PreferencesOption_Destroy(option);
348     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
349     errcode = OH_Preferences_Close(pref);
350     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Close is fail.");
351 
352     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_Open_0100 end------------- ");
353 
354     napi_value ret;
355     napi_create_int32(env, errcode, &ret);
356     return ret;
357 }
358 
OH_Preferences_Open_0200(napi_env env, napi_callback_info info)359 static napi_value OH_Preferences_Open_0200(napi_env env, napi_callback_info info)
360 {
361     int testry = 0;
362     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_Open_0200 ------------- ");
363     OH_PreferencesOption *option = OH_PreferencesOption_Create();
364     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
365     OH_PreferencesOption_SetFileName(option, "test.db");
366     OH_PreferencesOption_SetBundleName(option, "test");
367     OH_PreferencesOption_SetDataGroupId(option, "");
368 
369     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "func OH_Preferences_Open_0200  111------------- ");
370     int errcode = 1;
371     OH_Preferences *pref = OH_Preferences_Open(NULL, &errcode);
372     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_OpenNULL  errcode= %{public}d", errcode);
373     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open 1 is fail.");
374 
375     OH_Preferences *pref2 = OH_Preferences_Open(nullptr, &errcode);
376     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open 2 is fail.");
377 
378     errcode = OH_PreferencesOption_Destroy(option);
379     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
380     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_Open_0200 end------------- ");
381 
382     napi_value ret;
383     napi_create_int32(env, errcode, &ret);
384     return ret;
385 }
386 
OH_Preferences_Close_0100(napi_env env, napi_callback_info info)387 static napi_value OH_Preferences_Close_0100(napi_env env, napi_callback_info info)
388 {
389     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_Open_0100 ------------- ");
390     OH_PreferencesOption *option = OH_PreferencesOption_Create();
391     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
392     OH_PreferencesOption_SetFileName(option, "test.db");
393     OH_PreferencesOption_SetBundleName(option, "test");
394     OH_PreferencesOption_SetDataGroupId(option, "");
395 
396     int errcode = 1;
397     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
398     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
399     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
400 
401     errcode = OH_Preferences_Close(nullptr);
402     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Close is fail.");
403 
404     errcode = OH_Preferences_Close(NULL);
405     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Close is fail.");
406 
407     errcode = OH_Preferences_Close(pref);
408     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
409 
410     errcode = OH_PreferencesOption_Destroy(option);
411     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
412     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_Open_0100 end------------- ");
413 
414     napi_value ret;
415     napi_create_int32(env, errcode, &ret);
416     return ret;
417 }
418 
OH_Preferences_SetInt_0100(napi_env env, napi_callback_info info)419 static napi_value OH_Preferences_SetInt_0100(napi_env env, napi_callback_info info)
420 {
421     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetInt_0100 ------------- ");
422     OH_PreferencesOption *option = OH_PreferencesOption_Create();
423     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
424     OH_PreferencesOption_SetFileName(option, "test.db");
425     OH_PreferencesOption_SetBundleName(option, "test");
426     OH_PreferencesOption_SetDataGroupId(option, "");
427 
428     int errcode = 1;
429     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
430     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_Open  errcode= %{public}d", errcode);
431     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
432     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open 1 is fail.");
433 
434     errcode = OH_Preferences_SetInt(pref, "key", 123);
435     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 2 is fail.");
436 
437     errcode = OH_Preferences_SetInt(pref, " ", 123);
438     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_SetInt 3 errcode= %{public}d", errcode);
439     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 3 is fail.");
440 
441     errcode = OH_Preferences_SetInt(nullptr, "key", 123);
442     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetInt err 1 is fail.");
443 
444     errcode = OH_Preferences_SetInt(NULL, "key", 123);
445     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetInt err 2  is fail.");
446 
447     errcode = OH_Preferences_SetInt(pref, "", 123);
448     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_SetInt 5 errcode= %{public}d", errcode);
449     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "H_Preferences_SetInt err 3 is fail.");
450 
451     errcode = OH_Preferences_SetInt(pref, nullptr, 123);
452     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "H_Preferences_SetInt err 4 is fail.");
453 
454     errcode = OH_Preferences_SetInt(pref, NULL, 123);
455     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "H_Preferences_SetInt err 5 is fail.");
456 
457     errcode = OH_Preferences_Close(pref);
458     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
459     pref = nullptr;
460 
461     errcode = OH_Preferences_SetInt(pref, "keyclose", 123);
462     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_SetInt keyclose errcode= %{public}d", errcode);
463     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open 2 is fail.");
464 
465     errcode = OH_PreferencesOption_Destroy(option);
466     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
467     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetInt_0100 end------------- ");
468 
469     napi_value ret;
470     napi_create_int32(env, errcode, &ret);
471     return ret;
472 }
473 
OH_Preferences_SetGetInt_0100(napi_env env, napi_callback_info info)474 static napi_value OH_Preferences_SetGetInt_0100(napi_env env, napi_callback_info info)
475 {
476     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetGetInt_0100 ------------- ");
477     OH_PreferencesOption *option = OH_PreferencesOption_Create();
478     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
479     OH_PreferencesOption_SetFileName(option, "test.db");
480     OH_PreferencesOption_SetBundleName(option, "test");
481     OH_PreferencesOption_SetDataGroupId(option, "");
482 
483     int errcode = 1;
484     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
485     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_Open  errcode= %{public}d", errcode);
486     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
487     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open 1 is fail.");
488 
489     errcode = OH_Preferences_SetInt(pref, "key", 123);
490     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 2 is fail.");
491     int resGet;
492     errcode = OH_Preferences_GetInt(pref, "key", &resGet);
493     NAPI_ASSERT(env, resGet == 123, "OH_Preferences_GetInt is fail.");
494     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
495 
496     bool resGetbool;
497     errcode = OH_Preferences_GetBool(pref, "key", &resGetbool);
498     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_KEY_NOT_FOUND, "OH_Preferences_GetInt3 is fail.");
499 
500     //=========SetInt-GetInt
501     std::string string1024Key(1024, 'a');
502     std::string string1025Key(1025, 'a');
503     errcode = OH_Preferences_SetInt(pref, string1024Key.c_str(), 123);
504     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 4 is fail.");
505 
506     errcode = OH_Preferences_GetInt(pref, string1024Key.c_str(), &resGet);
507     NAPI_ASSERT(env, resGet == 123, "OH_Preferences_GetInt is fail.");
508     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
509 
510     errcode = OH_Preferences_SetInt(pref, string1025Key.c_str(), 123);
511     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetInt 5 is fail.");
512     errcode = OH_Preferences_GetInt(pref, string1025Key.c_str(), &resGet);
513     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt3 is fail.");
514 
515     errcode = OH_Preferences_SetInt(pref, "keyV0", 0);
516     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 4 is fail.");
517     errcode = OH_Preferences_GetInt(pref, "keyV0", &resGet);
518     NAPI_ASSERT(env, resGet == 0, "OH_Preferences_GetInt is fail.");
519     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
520 
521     int valueMax = 1024*1024*1024*2;
522     errcode = OH_Preferences_SetInt(pref, "keyV1024", valueMax);
523     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 4 is fail.");
524     errcode = OH_Preferences_GetInt(pref, "keyV1024", &resGet);
525     NAPI_ASSERT(env, resGet == valueMax, "OH_Preferences_GetInt is fail.");
526     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
527 
528     errcode = OH_Preferences_SetInt(pref, "key*%^&*(%$#@", 0);
529     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt 4 is fail.");
530     errcode = OH_Preferences_GetInt(pref, "key*%^&*(%$#@", &resGet);
531     NAPI_ASSERT(env, resGet == 0, "OH_Preferences_GetInt is fail.");
532     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
533 
534     errcode = OH_Preferences_Close(pref);
535     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Close is fail.");
536     errcode = OH_PreferencesOption_Destroy(option);
537     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
538     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetInt_0100 end------------- ");
539 
540     napi_value ret;
541     napi_create_int32(env, errcode, &ret);
542     return ret;
543 }
544 
OH_Preferences_SetGetString_0100(napi_env env, napi_callback_info info)545 static napi_value OH_Preferences_SetGetString_0100(napi_env env, napi_callback_info info)
546 {
547     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetGetString_0100 ------------- ");
548     OH_PreferencesOption *option = OH_PreferencesOption_Create();
549     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
550     OH_PreferencesOption_SetFileName(option, "test.db");
551     OH_PreferencesOption_SetBundleName(option, "test");
552     OH_PreferencesOption_SetDataGroupId(option, "");
553 
554     int errcode = 1;
555     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
556     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_Open  errcode= %{public}d", errcode);
557     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
558     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open 1 is fail.");
559 
560     //=========SetString-GetString
561     std::string string1024Key(1024, 'a');
562     std::string string1025Key(1025, 'a');
563     errcode = OH_Preferences_SetString(pref, string1024Key.c_str(), "str");
564     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetString string1024Key is fail.");
565     char *resGet = nullptr;
566     uint32_t len = 0;
567     errcode = OH_Preferences_GetString(pref, string1024Key.c_str(), &resGet, &len);
568     NAPI_ASSERT(env, strcmp(resGet, "str") == 0, "OH_Preferences_GetString string1024Key is fail.");
569     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetString string1024Key is fail.");
570     OH_Preferences_FreeString(resGet);
571     errcode = OH_Preferences_Delete(pref, string1024Key.c_str());
572     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Delete string1024Key is fail.");
573 
574     errcode = OH_Preferences_SetString(pref, string1025Key.c_str(), "str");
575     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetString string1025Key is fail.");
576     errcode = OH_Preferences_GetString(pref, string1025Key.c_str(), &resGet, &len);
577     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetString string1025Key is fail.");
578 
579     errcode = OH_Preferences_Delete(pref, string1025Key.c_str());
580     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Delete string1025Key is fail.");
581 
582     errcode = OH_Preferences_SetString(pref, "", "str");
583     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetString "" is fail.");
584     errcode = OH_Preferences_Delete(pref, "");
585     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Delete "" is fail.");
586 
587     errcode = OH_Preferences_SetString(pref, " ", "str");
588     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetString " " is fail.");
589     errcode = OH_Preferences_Delete(pref, " ");
590     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Delete " " is fail.");
591 
592     len = 0;
593     errcode = OH_Preferences_SetString(pref, "keyV0", " ");
594     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetString keyV0  is fail.");
595     errcode = OH_Preferences_GetString(pref, "keyV0", &resGet, &len);
596     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_GetString keyV0  errcode= %{public}d", errcode);
597     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetString keyV0 is fail.");
598     NAPI_ASSERT(env, strcmp(resGet, " ") == 0, "OH_Preferences_GetString keyV0 111 is fail.");
599     OH_Preferences_FreeString(resGet);
600 
601     len = 0;
602     errcode = OH_Preferences_SetString(pref, "keyVStr00", "");
603     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_SetString keyVStr00 errcode= %{public}d", errcode);
604     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetString keyVStr00  is fail.");
605     errcode = OH_Preferences_GetString(pref, "keyVStr00", &resGet, 0);
606     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_GetString keyVStr00 1 errcode= %{public}d", errcode);
607     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetString keyVStr00 1 is fail.");
608 
609     errcode = OH_Preferences_GetString(pref, "keyVStr00", &resGet, &len);
610     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_GetString keyVStr00 2 errcode= %{public}d", errcode);
611     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetString keyVStr00 2 is fail.");
612     OH_Preferences_FreeString(resGet);
613 
614     std::string string1024Value(1024 * 1024 * 16, 'v');
615     std::string string1025Value(1024 * 1024 * 16 +1, 'v');
616 
617     errcode = OH_Preferences_SetString(pref, "keyVStr1024", string1024Value.c_str());
618     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetString keyVStr1024 is fail.");
619     errcode = OH_Preferences_GetString(pref, "keyVStr1024", &resGet, &len);
620     NAPI_ASSERT(env, resGet == string1024Value, "OH_Preferences_GetString  keyVStr1024 is fail.");
621     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetString keyVStr1024 is fail.");
622     OH_Preferences_FreeString(resGet);
623 
624     errcode = OH_Preferences_SetString(pref, "keyVStr1025", string1025Value.c_str());
625     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetString keyVStr1025 is fail.");
626     errcode = OH_Preferences_GetString(pref, "keyVStr1025", &resGet, &len);
627     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_GetString keyVStr1025 errcode= %{public}d", errcode);
628     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_KEY_NOT_FOUND, "OH_Preferences_GetString keyVStr1025 is fail.");
629 
630     std::string stringSpecialValue("V_*%^=&*_~!@$%^&*()_<>?:+(%$+-*/");
631     errcode = OH_Preferences_SetString(pref, "key_*%^&*(%$#@", stringSpecialValue.c_str());
632     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetString key_*%^&*(%$#@ is fail.");
633     errcode = OH_Preferences_GetString(pref, "key_*%^&*(%$#@", &resGet,  &len);
634     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetString key_*%^&*(%$#@ is fail.");
635     NAPI_ASSERT(env, strcmp(resGet, stringSpecialValue.c_str()) == 0, "OH_Preferences_GetString key_*%^&*(%$#@ is fail.");
636     OH_Preferences_FreeString(resGet);
637 
638     errcode = OH_Preferences_Close(pref);
639     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Close is fail.");
640     errcode = OH_PreferencesOption_Destroy(option);
641     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
642     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetGetString_0100 -end------------ ");
643 
644     napi_value ret;
645     napi_create_int32(env, errcode, &ret);
646     return ret;
647 }
648 
OH_Preferences_SetGetBool_0100(napi_env env, napi_callback_info info)649 static napi_value OH_Preferences_SetGetBool_0100(napi_env env, napi_callback_info info)
650 {
651     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetGetBool_0100 ------------- ");
652     OH_PreferencesOption *option = OH_PreferencesOption_Create();
653     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
654     OH_PreferencesOption_SetFileName(option, "test.db");
655     OH_PreferencesOption_SetBundleName(option, "test");
656     OH_PreferencesOption_SetDataGroupId(option, "");
657 
658     int errcode = 1;
659     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
660     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_Open  errcode= %{public}d", errcode);
661     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
662     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open 1 is fail.");
663 
664     errcode = OH_Preferences_SetBool(pref, "key", true);
665     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt2 is fail.");
666 
667     bool resGet;
668     errcode = OH_Preferences_GetBool(pref, "key", &resGet);
669     NAPI_ASSERT(env, resGet == true, "OH_Preferences_GetInt is fail.");
670 
671     //=========SetInt-GetInt
672     std::string string1024Key(1024, 'a');
673     std::string string1025Key(1025, 'a');
674     errcode = OH_Preferences_SetBool(pref, string1024Key.c_str(), false);
675     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetBool 4 is fail.");
676     errcode = OH_Preferences_GetBool(pref, string1024Key.c_str(), &resGet);
677     NAPI_ASSERT(env, resGet == false, "OH_Preferences_GetBool is fail.");
678     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetBool is fail.");
679 
680     errcode = OH_Preferences_SetBool(pref, string1025Key.c_str(), false);
681     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_SetBool 5 is fail.");
682     errcode = OH_Preferences_GetBool(pref, string1025Key.c_str(), &resGet);
683     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetBool is fail.");
684 
685     errcode = OH_Preferences_Close(pref);
686     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Close is fail.");
687     errcode = OH_PreferencesOption_Destroy(option);
688     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
689     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetGetBool_0100 end------------- ");
690 
691     napi_value ret;
692     napi_create_int32(env, errcode, &ret);
693     return ret;
694 }
695 
OH_Preferences_SetString_0100(napi_env env, napi_callback_info info)696 static napi_value OH_Preferences_SetString_0100(napi_env env, napi_callback_info info)
697 {
698     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetString_0100 ------------- ");
699     OH_PreferencesOption *option = OH_PreferencesOption_Create();
700     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
701     OH_PreferencesOption_SetFileName(option, "test.db");
702     OH_PreferencesOption_SetBundleName(option, "test");
703     OH_PreferencesOption_SetDataGroupId(option, "");
704 
705     int errcode = 1;
706     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
707     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
708     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open1 is fail.");
709 
710     errcode = OH_Preferences_SetString(pref, "key", "str");
711     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open2 is fail.");
712 
713     errcode = OH_Preferences_SetString(nullptr, "key", "str");
714     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open3 is fail.");
715 
716     errcode = OH_Preferences_SetString(NULL, "key", "str");
717     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open4 is fail.");
718 
719     errcode = OH_Preferences_SetString(pref, "", "str");
720     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open5 is fail.");
721 
722     errcode = OH_Preferences_SetString(pref, " ", "str");
723     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open6 is fail.");
724 
725     errcode = OH_Preferences_SetString(pref, nullptr, "str");
726     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open7 is fail.");
727 
728     errcode = OH_Preferences_SetString(pref, NULL, "str");
729     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open8 is fail.");
730 
731     errcode = OH_Preferences_Close(pref);
732     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Close is fail.");
733     errcode = OH_PreferencesOption_Destroy(option);
734     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
735     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetString_0100 ------------- ");
736 
737     napi_value ret;
738     napi_create_int32(env, errcode, &ret);
739     return ret;
740 }
741 
OH_Preferences_SetBool_0100(napi_env env, napi_callback_info info)742 static napi_value OH_Preferences_SetBool_0100(napi_env env, napi_callback_info info)
743 {
744     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetBool_0100 ------------- ");
745     OH_PreferencesOption *option = OH_PreferencesOption_Create();
746     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
747     OH_PreferencesOption_SetFileName(option, "test.db");
748     OH_PreferencesOption_SetBundleName(option, "test");
749     OH_PreferencesOption_SetDataGroupId(option, "");
750 
751     int errcode = 1;
752     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
753     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
754     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open1 is fail.");
755 
756     errcode = OH_Preferences_SetBool(pref, "key", true);
757     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open2 is fail.");
758 
759     errcode = OH_Preferences_SetBool(nullptr, "key", true);
760     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open3 is fail.");
761 
762     errcode = OH_Preferences_SetBool(NULL, "key", true);
763     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open4 is fail.");
764 
765     errcode = OH_Preferences_SetBool(pref, "", true);
766     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open5 is fail.");
767 
768     errcode = OH_Preferences_SetBool(pref, " ", true);
769     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open6 is fail.");
770 
771     errcode = OH_Preferences_SetBool(pref, nullptr, true);
772     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open7 is fail.");
773 
774     errcode = OH_Preferences_SetBool(pref, NULL, true);
775     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open8 is fail.");
776 
777     errcode = OH_Preferences_Close(pref);
778     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
779     errcode = OH_PreferencesOption_Destroy(option);
780     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
781     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_SetBool_0100 end------------- ");
782 
783     napi_value ret;
784     napi_create_int32(env, errcode, &ret);
785     return ret;
786 }
787 
OH_Preferences_GetInt_0100(napi_env env, napi_callback_info info)788 static napi_value OH_Preferences_GetInt_0100(napi_env env, napi_callback_info info)
789 {
790     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetInt_0100 ------------- ");
791     OH_PreferencesOption *option = OH_PreferencesOption_Create();
792     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
793     OH_PreferencesOption_SetFileName(option, "test.db");
794     OH_PreferencesOption_SetBundleName(option, "test");
795     OH_PreferencesOption_SetDataGroupId(option, "");
796 
797     int errcode = 1;
798     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
799     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
800     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open1 is fail.");
801 
802     errcode = OH_Preferences_SetInt(pref, "key", 123);
803     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt2 is fail.");
804     errcode = OH_Preferences_SetInt(pref, " ", 12345);
805     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt2 is fail.");
806 
807     int resGet;
808     errcode = OH_Preferences_GetInt(pref, "key", &resGet);
809     NAPI_ASSERT(env, resGet == 123, "OH_Preferences_GetInt is fail.");
810     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
811 
812     errcode = OH_Preferences_GetInt(nullptr, "key", &resGet);
813     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt4 is fail.");
814 
815     errcode = OH_Preferences_GetInt(NULL, "key", &resGet);
816     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt5 is fail.");
817 
818     errcode = OH_Preferences_GetInt(pref, "", &resGet);
819     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt6 is fail.");
820 
821     errcode = OH_Preferences_GetInt(pref, "key123456", &resGet);
822     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG,"OH_Preferences_GetInt key123456  errcode= %{public}d",errcode);
823     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_KEY_NOT_FOUND, "OH_Preferences_GetInt61 is fail.");
824 
825     errcode = OH_Preferences_GetInt(pref, " ", &resGet);
826     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt7 is fail.");
827 
828     errcode = OH_Preferences_GetInt(pref, nullptr, &resGet);
829     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt8 is fail.");
830 
831     errcode = OH_Preferences_GetInt(pref, NULL, &resGet);
832     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt9 is fail.");
833 
834     errcode = OH_Preferences_Close(pref);
835     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
836     errcode = OH_PreferencesOption_Destroy(option);
837     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
838     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetInt_0100 end------------- ");
839     napi_value ret;
840     napi_create_int32(env, errcode, &ret);
841     return ret;
842 }
843 
OH_Preferences_GetString_0100(napi_env env, napi_callback_info info)844 static napi_value OH_Preferences_GetString_0100(napi_env env, napi_callback_info info)
845 {
846     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetString_0100 ------------- ");
847     OH_PreferencesOption *option = OH_PreferencesOption_Create();
848     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
849     OH_PreferencesOption_SetFileName(option, "test.db");
850     OH_PreferencesOption_SetBundleName(option, "test");
851     OH_PreferencesOption_SetDataGroupId(option, "");
852 
853     int errcode = 1;
854     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
855     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
856     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
857 
858     errcode = OH_Preferences_SetString(pref, "key", "str");
859     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt is fail.");
860     errcode = OH_Preferences_SetString(pref, " ", "str");
861     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt is fail.");
862 
863     char *resGet = nullptr;
864     uint32_t len = 0;
865     errcode = OH_Preferences_GetString(pref, "key", &resGet, &len);
866     NAPI_ASSERT(env, strcmp(resGet, "str") == 0, "OH_Preferences_GetInt is fail.");
867     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt1 is fail.");
868     OH_Preferences_FreeString(resGet);
869 
870     errcode = OH_Preferences_GetString(nullptr, "key", &resGet, &len);
871     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt2 is fail.");
872 
873     errcode = OH_Preferences_GetString(NULL, "key", &resGet, &len);
874     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt3 is fail.");
875 
876     errcode = OH_Preferences_GetString(pref, "", &resGet, &len);
877     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt4 is fail.");
878 
879     errcode = OH_Preferences_GetString(pref, "key123456",  &resGet, &len);
880     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_GetString key123456  errcode= %{public}d", errcode);
881     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_KEY_NOT_FOUND, "OH_Preferences_GetInt61 is fail.");
882 
883     errcode = OH_Preferences_GetString(pref, " ", &resGet, &len);
884     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt5 is fail.");
885     OH_Preferences_FreeString(resGet);
886 
887     errcode = OH_Preferences_GetString(pref, nullptr, &resGet, &len);
888     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt6 is fail.");
889 
890     errcode = OH_Preferences_GetString(pref, NULL, &resGet, &len);
891     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt7 is fail.");
892 
893     errcode = OH_Preferences_Close(pref);
894     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
895     errcode = OH_PreferencesOption_Destroy(option);
896     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
897     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetString_0100 end------------- ");
898     napi_value ret;
899     napi_create_int32(env, errcode, &ret);
900     return ret;
901 }
902 
OH_Preferences_GetBool_0100(napi_env env, napi_callback_info info)903 static napi_value OH_Preferences_GetBool_0100(napi_env env, napi_callback_info info)
904 {
905     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetBool_0100 ------------- ");
906     OH_PreferencesOption *option = OH_PreferencesOption_Create();
907     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
908     OH_PreferencesOption_SetFileName(option, "test.db");
909     OH_PreferencesOption_SetBundleName(option, "test");
910     OH_PreferencesOption_SetDataGroupId(option, "");
911 
912     int errcode = 1;
913     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
914     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
915     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open1 is fail.");
916 
917     errcode = OH_Preferences_SetBool(pref, "key", true);
918     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt2 is fail.");
919     errcode = OH_Preferences_SetBool(pref, " ", false);
920     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt2 is fail.");
921 
922     bool resGet;
923     errcode = OH_Preferences_GetBool(pref, "key", &resGet);
924     NAPI_ASSERT(env, resGet == true, "OH_Preferences_GetInt is fail.");
925     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt3 is fail.");
926 
927     errcode = OH_Preferences_GetBool(nullptr, "key", &resGet);
928     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt4 is fail.");
929 
930     errcode = OH_Preferences_GetBool(NULL, "key", &resGet);
931     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt5 is fail.");
932 
933     errcode = OH_Preferences_GetBool(pref, "", &resGet);
934     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt6 is fail.");
935 
936     errcode = OH_Preferences_GetBool(pref, "key123456", &resGet);
937     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "OH_Preferences_GetBool key123456  errcode= %{public}d", errcode);
938     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_KEY_NOT_FOUND, "OH_Preferences_GetInt61 is fail.");
939 
940     errcode = OH_Preferences_GetBool(pref, " ", &resGet);
941     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt7 is fail.");
942 
943     errcode = OH_Preferences_GetBool(pref, nullptr, &resGet);
944     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt8 is fail.");
945 
946     errcode = OH_Preferences_GetBool(pref, NULL, &resGet);
947     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_GetInt9 is fail.");
948 
949     errcode = OH_Preferences_Close(pref);
950     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
951     errcode = OH_PreferencesOption_Destroy(option);
952     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
953     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetBool_0100 end------------- ");
954 
955     napi_value ret;
956     napi_create_int32(env, errcode, &ret);
957     return ret;
958 }
959 
OH_Preferences_FreeString(napi_env env, napi_callback_info info)960 static napi_value OH_Preferences_FreeString(napi_env env, napi_callback_info info)
961 {
962     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetInt_0100 ------------- ");
963     OH_PreferencesOption *option = OH_PreferencesOption_Create();
964     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
965     OH_PreferencesOption_SetFileName(option, "test.db");
966     OH_PreferencesOption_SetBundleName(option, "test");
967     OH_PreferencesOption_SetDataGroupId(option, "");
968 
969     int errcode = 1;
970     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
971     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
972     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
973 
974     errcode = OH_Preferences_SetString(pref, "key", "str");
975     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_SetInt is fail.");
976 
977     char *resGet = nullptr;
978     uint32_t len = 0;
979     errcode = OH_Preferences_GetString(pref, "key", &resGet, &len);
980     NAPI_ASSERT(env, strcmp(resGet, "str") == 0, "OH_Preferences_GetString is fail.");
981     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_GetInt is fail.");
982     OH_Preferences_FreeString(resGet);
983 
984     errcode = OH_Preferences_Close(pref);
985     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
986     errcode = OH_PreferencesOption_Destroy(option);
987     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
988     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetInt_0100 end------------- ");
989 
990     napi_value ret;
991     napi_create_int32(env, errcode, &ret);
992     return ret;
993 }
994 
OH_Preferences_Delete(napi_env env, napi_callback_info info)995 static napi_value OH_Preferences_Delete(napi_env env, napi_callback_info info)
996 {
997     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetInt_0100 ------------- ");
998     OH_PreferencesOption *option = OH_PreferencesOption_Create();
999     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
1000     OH_PreferencesOption_SetFileName(option, "test.db");
1001     OH_PreferencesOption_SetBundleName(option, "test");
1002     OH_PreferencesOption_SetDataGroupId(option, "");
1003 
1004     int errcode = 1;
1005     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
1006     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
1007     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
1008 
1009     errcode = OH_Preferences_Close(pref);
1010     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
1011     errcode = OH_PreferencesOption_Destroy(option);
1012     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
1013     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_GetInt_0100 end------------- ");
1014     napi_value ret;
1015     napi_create_int32(env, errcode, &ret);
1016     return ret;
1017 }
1018 
OH_Preferences_RegisterDataObserver_0100(napi_env env, napi_callback_info info)1019 static napi_value OH_Preferences_RegisterDataObserver_0100(napi_env env, napi_callback_info info)
1020 {
1021     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_RegisterDataObserver_0100 ------------- ");
1022     OH_PreferencesOption *option = OH_PreferencesOption_Create();
1023     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
1024     OH_PreferencesOption_SetFileName(option, "DBDataObserver001.db");
1025     OH_PreferencesOption_SetBundleName(option, "test");
1026     OH_PreferencesOption_SetDataGroupId(option, "");
1027 
1028     int errcode = 1;
1029     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
1030     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
1031     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
1032 
1033     SetAllValuesWithCheck(pref);
1034 
1035     g_changeNum = 0;
1036     const char *keys[] = {"ndktest_int_key_1", "ndktest_string_key_1", "ndktest_bool_key_1"};
1037     errcode = OH_Preferences_RegisterDataObserver(pref, nullptr, DataChangeObserverCallback, keys, 3);
1038     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
1039 
1040     errcode = OH_Preferences_RegisterDataObserver(pref, NULL, DataChangeObserverCallback, keys, 3);
1041     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
1042 
1043     errcode = OH_Preferences_RegisterDataObserver(nullptr, nullptr, DataChangeObserverCallback, keys, 3);
1044     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1045     errcode = OH_Preferences_RegisterDataObserver(NULL, nullptr, DataChangeObserverCallback, keys, 3);
1046     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1047     errcode = OH_Preferences_RegisterDataObserver(pref, nullptr, nullptr, keys, 3);
1048     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1049     errcode = OH_Preferences_RegisterDataObserver(pref, nullptr, NULL, keys, 3);
1050     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1051     errcode = OH_Preferences_RegisterDataObserver(pref, nullptr, DataChangeObserverCallback, nullptr, 0);
1052     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1053     errcode = OH_Preferences_RegisterDataObserver(pref, nullptr, DataChangeObserverCallback, NULL, 0);
1054     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1055 
1056     errcode = OH_Preferences_Close(pref);
1057     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
1058     errcode = OH_PreferencesOption_Destroy(option);
1059     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
1060     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_RegisterDataObserver_0100 end------------- ");
1061 
1062     napi_value ret;
1063     napi_create_int32(env, errcode, &ret);
1064     return ret;
1065 }
1066 
OH_Preferences_UnregisterDataObserver_0100(napi_env env, napi_callback_info info)1067 static napi_value OH_Preferences_UnregisterDataObserver_0100(napi_env env, napi_callback_info info)
1068 {
1069     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_UnregisterDataObserver ------------- ");
1070     OH_PreferencesOption *option = OH_PreferencesOption_Create();
1071     NAPI_ASSERT(env, option != nullptr, "OH_PreferencesOption_Create is fail.");
1072     OH_PreferencesOption_SetFileName(option, "DBDataObserver002.db");
1073     OH_PreferencesOption_SetBundleName(option, "test");
1074     OH_PreferencesOption_SetDataGroupId(option, "");
1075 
1076     int errcode = 1;
1077     OH_Preferences *pref = OH_Preferences_Open(option, &errcode);
1078     NAPI_ASSERT(env, pref != nullptr, "OH_Preferences_Open is fail.");
1079     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_Open is fail.");
1080 
1081     SetAllValuesWithCheck(pref);
1082 
1083     g_changeNum = 0;
1084     const char *keys[] = {"ndktest_int_key_1", "ndktest_string_key_1", "ndktest_bool_key_1"};
1085     errcode = OH_Preferences_RegisterDataObserver(pref, nullptr, DataChangeObserverCallback, keys, 3);
1086     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_RegisterDataObserver is fail.");
1087 
1088     errcode = OH_Preferences_UnregisterDataObserver(pref, nullptr, DataChangeObserverCallback, keys, 3);
1089     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_Preferences_UnRegisterDataObserver is fail.");
1090 
1091     errcode = OH_Preferences_UnregisterDataObserver(nullptr, nullptr, DataChangeObserverCallback, keys, 3);
1092     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1093     errcode = OH_Preferences_UnregisterDataObserver(NULL, nullptr, DataChangeObserverCallback, keys, 3);
1094     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1095     errcode = OH_Preferences_UnregisterDataObserver(pref, nullptr, nullptr, keys, 3);
1096     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1097     errcode = OH_Preferences_UnregisterDataObserver(pref, nullptr, NULL, keys, 3);
1098     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1099     errcode = OH_Preferences_UnregisterDataObserver(pref, nullptr, DataChangeObserverCallback, nullptr, 0);
1100     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1101     errcode = OH_Preferences_UnregisterDataObserver(pref, nullptr, DataChangeObserverCallback, NULL, 0);
1102     NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_Preferences_Open is fail.");
1103 
1104     errcode = OH_Preferences_Close(pref);
1105     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_SetFilePath is fail.");
1106     errcode = OH_PreferencesOption_Destroy(option);
1107     NAPI_ASSERT(env, errcode == PREFERENCES_OK, "OH_PreferencesOption_Destroy is fail.");
1108     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_UnregisterDataObserver end------------- ");
1109     napi_value ret;
1110     napi_create_int32(env, errcode, &ret);
1111     return ret;
1112 }
1113 
OH_PreferencesPair_0200(napi_env env, napi_callback_info info)1114 static napi_value OH_PreferencesPair_0200(napi_env env, napi_callback_info info)
1115 {
1116     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_RegisterDataObserver_0200 ------------- ");
1117     int result = 0;
1118      const char *pkey = OH_PreferencesPair_GetKey(NULL, 0);
1119      NAPI_ASSERT(env, pkey == nullptr, "OH_PreferencesPair_GetKey 1 is fail.");
1120      const char *pkey2 = OH_PreferencesPair_GetKey(nullptr, 0);
1121      NAPI_ASSERT(env, pkey2 == nullptr, "OH_PreferencesPair_GetKey 2 is fail.");
1122      const char *pkey3 = OH_PreferencesPair_GetKey(g_pairs, -1);
1123      NAPI_ASSERT(env, pkey3 == nullptr, "OH_PreferencesPair_GetKey 3 is fail.");
1124 
1125      const OH_PreferencesValue *pValue = OH_PreferencesPair_GetPreferencesValue(NULL, 0);
1126      NAPI_ASSERT(env, pValue == nullptr, "OH_PreferencesPair_GetPreferencesValue is fail.");
1127      const OH_PreferencesValue *pValue2 = OH_PreferencesPair_GetPreferencesValue(nullptr, 0);
1128      NAPI_ASSERT(env, pValue2 == nullptr, "OH_PreferencesPair_GetPreferencesValue is fail.");
1129 
1130      int intV = 0;
1131      int errcode = OH_PreferencesValue_GetInt(NULL, &intV);
1132      NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesPair_GetKey is fail.");
1133      errcode = OH_PreferencesValue_GetInt(nullptr, &intV);
1134      NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesPair_GetKey is fail.");
1135 
1136      bool boolV = false;
1137      errcode = OH_PreferencesValue_GetBool(NULL, &boolV);
1138      NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesValue_GetBool is fail.");
1139      errcode = OH_PreferencesValue_GetBool(nullptr, &boolV);
1140      NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesValue_GetBool is fail.");
1141 
1142      char *stringV = nullptr;
1143      uint32_t len = 0;
1144      errcode = OH_PreferencesValue_GetString(NULL, &stringV, &len);
1145      NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesValue_GetBool is fail.");
1146      errcode = OH_PreferencesValue_GetString(nullptr, &stringV, &len);
1147      NAPI_ASSERT(env, errcode == PREFERENCES_ERROR_INVALID_PARAM, "OH_PreferencesValue_GetBool is fail.");
1148     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_RegisterDataObserver_0200 end------------- ");
1149 
1150     napi_value ret;
1151     napi_create_int32(env, result, &ret);
1152     return ret;
1153 
1154 }
1155 
OH_Preferences_ErrCode_0100(napi_env env, napi_callback_info info)1156 static napi_value OH_Preferences_ErrCode_0100(napi_env env, napi_callback_info info)
1157 {
1158     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_RegisterDataObserver_0200 ------------- ");
1159     int result = 0;
1160     OH_Preferences_ErrCode errcode = PREFERENCES_OK;
1161     NAPI_ASSERT(env, errcode == 0, "PREFERENCES_OK is fail.");
1162     errcode = PREFERENCES_ERROR_INVALID_PARAM;
1163     NAPI_ASSERT(env, errcode == 401, "PREFERENCES_OK is fail.");
1164     errcode = PREFERENCES_ERROR_NOT_SUPPORTED;
1165     NAPI_ASSERT(env, errcode == 801, "PREFERENCES_OK is fail.");
1166     errcode = PREFERENCES_ERROR_BASE;
1167     NAPI_ASSERT(env, errcode == 15500000, "PREFERENCES_OK is fail.");
1168     errcode = PREFERENCES_ERROR_DELETE_FILE;
1169     NAPI_ASSERT(env, errcode == 15500010, "PREFERENCES_OK is fail.");
1170     errcode = PREFERENCES_ERROR_STORAGE;
1171     NAPI_ASSERT(env, errcode == 15500011, "PREFERENCES_OK is fail.");
1172     errcode = PREFERENCES_ERROR_MALLOC;
1173     NAPI_ASSERT(env, errcode == 15500012, "PREFERENCES_OK is fail.");
1174     errcode = PREFERENCES_ERROR_KEY_NOT_FOUND;
1175     NAPI_ASSERT(env, errcode == 15500013, "PREFERENCES_OK is fail.");
1176     errcode = PREFERENCES_ERROR_GET_DATAOBSMGRCLIENT;
1177     NAPI_ASSERT(env, errcode == 15500019, "PREFERENCES_OK is fail.");
1178     OH_LOG_Print(LOG_APP, LOG_ERROR, 0, TAG, "------------- func OH_Preferences_RegisterDataObserver_0200 end------------- ");
1179     napi_value ret;
1180     napi_create_int32(env, result, &ret);
1181     return ret;
1182 }
1183 
1184 
1185 EXTERN_C_START
Init(napi_env env, napi_value exports)1186 static napi_value Init(napi_env env, napi_value exports)
1187 {
1188     napi_property_descriptor desc[] = {
1189 
1190         {"OH_PreferencesOption_Create_0100", nullptr, OH_PreferencesOption_Create_0100, nullptr, nullptr, nullptr,
1191          napi_default, nullptr},
1192         {"OH_PreferencesOption_SetFilePath_0100", nullptr, OH_PreferencesOption_SetFilePath_0100, nullptr, nullptr,
1193          nullptr, napi_default, nullptr},
1194         {"OH_PreferencesOption_SetFilePath_0200", nullptr, OH_PreferencesOption_SetFilePath_0200, nullptr, nullptr,
1195          nullptr, napi_default, nullptr},
1196         {"OH_PreferencesOption_SetBundleName_0100", nullptr, OH_PreferencesOption_SetBundleName_0100, nullptr, nullptr,
1197          nullptr, napi_default, nullptr},
1198         {"OH_PreferencesOption_SetBundleName_0200", nullptr, OH_PreferencesOption_SetBundleName_0200, nullptr, nullptr,
1199          nullptr, napi_default, nullptr},
1200         {"OH_PreferencesOption_SetDataGroupId_0100", nullptr, OH_PreferencesOption_SetDataGroupId_0100, nullptr,
1201          nullptr, nullptr, napi_default, nullptr},
1202         {"OH_PreferencesOption_SetDataGroupId_0200", nullptr, OH_PreferencesOption_SetDataGroupId_0200, nullptr,
1203          nullptr, nullptr, napi_default, nullptr},
1204         {"OH_PreferencesOption_Destroy_0100", nullptr, OH_PreferencesOption_Destroy_0100, nullptr, nullptr, nullptr,
1205          napi_default, nullptr},
1206         {"OH_PreferencesOption_Destroy_0200", nullptr, OH_PreferencesOption_Destroy_0200, nullptr, nullptr, nullptr,
1207          napi_default, nullptr},
1208         {"OH_Preferences_Open_0100", nullptr, OH_Preferences_Open_0100, nullptr, nullptr, nullptr, napi_default,
1209          nullptr},
1210         {"OH_Preferences_Open_0200", nullptr, OH_Preferences_Open_0200, nullptr, nullptr, nullptr, napi_default,
1211          nullptr},
1212         {"OH_Preferences_Close_0100", nullptr, OH_Preferences_Close_0100, nullptr, nullptr, nullptr, napi_default,
1213          nullptr},
1214         {"OH_Preferences_SetInt_0100", nullptr, OH_Preferences_SetInt_0100, nullptr, nullptr, nullptr, napi_default,
1215          nullptr},
1216         {"OH_Preferences_SetGetInt_0100", nullptr, OH_Preferences_SetGetInt_0100, nullptr, nullptr, nullptr,
1217          napi_default, nullptr},
1218         {"OH_Preferences_SetGetString_0100", nullptr, OH_Preferences_SetGetString_0100, nullptr, nullptr, nullptr,
1219          napi_default, nullptr},
1220         {"OH_Preferences_SetGetBool_0100", nullptr, OH_Preferences_SetGetBool_0100, nullptr, nullptr, nullptr,
1221          napi_default, nullptr},
1222 
1223         {"OH_Preferences_SetString_0100", nullptr, OH_Preferences_SetString_0100, nullptr, nullptr, nullptr,
1224          napi_default, nullptr},
1225         {"OH_Preferences_SetBool_0100", nullptr, OH_Preferences_SetBool_0100, nullptr, nullptr, nullptr, napi_default,
1226          nullptr},
1227 
1228         {"OH_Preferences_GetInt_0100", nullptr, OH_Preferences_GetInt_0100, nullptr, nullptr, nullptr, napi_default,
1229          nullptr},
1230         {"OH_Preferences_GetString_0100", nullptr, OH_Preferences_GetString_0100, nullptr, nullptr, nullptr,
1231          napi_default, nullptr},
1232         {"OH_Preferences_GetBool_0100", nullptr, OH_Preferences_GetBool_0100, nullptr, nullptr, nullptr, napi_default,
1233          nullptr},
1234 
1235         {"OH_Preferences_FreeString", nullptr, OH_Preferences_FreeString, nullptr, nullptr, nullptr, napi_default,
1236          nullptr},
1237         {"OH_Preferences_Delete", nullptr, OH_Preferences_Delete, nullptr, nullptr, nullptr, napi_default, nullptr},
1238         {"OH_Preferences_RegisterDataObserver_0100", nullptr, OH_Preferences_RegisterDataObserver_0100, nullptr,
1239          nullptr, nullptr, napi_default, nullptr},
1240         {"OH_Preferences_UnregisterDataObserver_0100", nullptr, OH_Preferences_UnregisterDataObserver_0100, nullptr,
1241          nullptr, nullptr, napi_default, nullptr},
1242         {"OH_PreferencesPair_0200", nullptr, OH_PreferencesPair_0200, nullptr, nullptr, nullptr, napi_default, nullptr},
1243         {"OH_Preferences_ErrCode_0100", nullptr, OH_Preferences_ErrCode_0100, nullptr, nullptr, nullptr, napi_default,
1244          nullptr}
1245 
1246     };
1247     napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc);
1248     return exports;
1249 }
1250 EXTERN_C_END
1251 
1252 static napi_module demoModule = {
1253     .nm_version = 1,
1254     .nm_flags = 0,
1255     .nm_filename = nullptr,
1256     .nm_register_func = Init,
1257     .nm_modname = "entry",
1258     .nm_priv = ((void*)0),
1259     .reserved = { 0 },
1260 };
1261 
RegisterEntryModule(void)1262 extern "C" __attribute__((constructor)) void RegisterEntryModule(void)
1263 {
1264     napi_module_register(&demoModule);
1265 }
1266