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