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