• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include <gtest/gtest.h>
17 #include <securec.h>
18 #include <cstddef>
19 #include <cstdlib>
20 #include <cstring>
21 
22 #include "bus_center_info_key.h"
23 #include "bus_center_manager.h"
24 #include "lnn_data_cloud_sync.h"
25 #include "lnn_device_info_recovery.h"
26 #include "lnn_log.h"
27 #include "lnn_node_info.h"
28 #include "lnn_parameter_utils.h"
29 #include "softbus_adapter_mem.h"
30 #include "softbus_error_code.h"
31 #include "softbus_common.h"
32 
33 namespace OHOS {
34 using namespace testing::ext;
35 using namespace testing;
36 
37 constexpr char VALUE[] = "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000#1";
38 constexpr char RIGHT_KEY[] = "123456789#1111111111111111111111111111111111111111111111111111111111111111#DEVICE_NAME";
39 
40 class LNNDataCloudSyncTest : public testing::Test {
41 public:
42     static void SetUpTestCase();
43     static void TearDownTestCase();
44     void SetUp();
45     void TearDown();
46 };
47 
SetUpTestCase()48 void LNNDataCloudSyncTest::SetUpTestCase() {}
49 
TearDownTestCase()50 void LNNDataCloudSyncTest::TearDownTestCase() {}
51 
SetUp()52 void LNNDataCloudSyncTest::SetUp()
53 {
54     LNN_LOGI(LNN_TEST, "LNNDataCloudSyncTest start");
55 }
56 
TearDown()57 void LNNDataCloudSyncTest::TearDown() {}
58 
59 /*
60  * @tc.name: LnnAsyncCallLedgerAllDataSyncToDB_Test_001
61  * @tc.desc: LnnAsyncCallLedgerAllDataSyncToDB
62  * @tc.type: FUNC
63  * @tc.require:
64  */
65 HWTEST_F(LNNDataCloudSyncTest, LnnAsyncCallLedgerAllDataSyncToDB_Test_001, TestSize.Level1)
66 {
67     NodeInfo *info = nullptr;
68     int32_t ret = LnnAsyncCallLedgerAllDataSyncToDB(info);
69     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
70     info = (NodeInfo *)SoftBusCalloc(sizeof(NodeInfo));
71     info->accountId = 0;
72     ret = LnnLedgerAllDataSyncToDB(info);
73     if (ret != SOFTBUS_NOT_IMPLEMENT) {
74         EXPECT_EQ(ret, SOFTBUS_KV_CLOUD_DISABLED);
75     } else {
76         EXPECT_EQ(ret, SOFTBUS_NOT_IMPLEMENT);
77     }
78     info->accountId = 18390933952;
79     ret = LnnAsyncCallLedgerAllDataSyncToDB(info);
80     EXPECT_NE(ret, SOFTBUS_OK);
81     SoftBusFree(info);
82 }
83 
84 /*
85  * @tc.name: LnnLedgerDataChangeSyncToDB_Test_002
86  * @tc.desc: LnnLedgerDataChangeSyncToDB
87  * @tc.type: FUNC
88  * @tc.require:
89  */
90 HWTEST_F(LNNDataCloudSyncTest, LnnLedgerDataChangeSyncToDB_Test_002, TestSize.Level1)
91 {
92     char *key = nullptr;
93     int32_t ret = LnnLedgerDataChangeSyncToDB(key, VALUE, strlen(VALUE));
94     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
95     LnnDeleteSyncToDB();
96 }
97 
98 /*
99  * @tc.name: LnnDBDataChangeSyncToCache_Test_003
100  * @tc.desc: LnnDBDataChangeSyncToCache
101  * @tc.type: FUNC
102  * @tc.require:
103  */
104 HWTEST_F(LNNDataCloudSyncTest, LnnDBDataChangeSyncToCache_Test_003, TestSize.Level1)
105 {
106     char *key = nullptr;
107     char *value = nullptr;
108     ChangeType type = DB_UPDATE;
109     int32_t ret = LnnDBDataChangeSyncToCache(key, value, type);
110     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
111     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, value, type);
112     EXPECT_EQ(ret, SOFTBUS_ERR);
113     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, VALUE, type);
114     NodeInfo localCaheInfo;
115     if (LnnGetLocalCacheNodeInfo(&localCaheInfo) == SOFTBUS_NOT_IMPLEMENT) {
116         EXPECT_EQ(ret, SOFTBUS_ERR);
117     } else {
118         EXPECT_EQ(ret, SOFTBUS_OK);
119     }
120     type = DB_DELETE;
121     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, VALUE, type);
122     EXPECT_EQ(ret, SOFTBUS_OK);
123     type = DB_CHANGE_TYPE_MAX;
124     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, VALUE, type);
125     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
126 }
127 
128 /*
129  * @tc.name: LnnDBDataAddChangeSyncToCache_Test_004
130  * @tc.desc: LnnDBDataAddChangeSyncToCache
131  * @tc.type: FUNC
132  * @tc.require:
133  */
134 HWTEST_F(LNNDataCloudSyncTest, LnnDBDataAddChangeSyncToCache_Test_004, TestSize.Level1)
135 {
136     const char **key = nullptr;
137     const char **value = nullptr;
138     int32_t keySize = 0;
139     int32_t ret = LnnDBDataAddChangeSyncToCache(key, value, keySize);
140     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
141 }
142 } // namespace OHOS
143