• 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 <cstddef>
17 #include <cstdlib>
18 #include <cstring>
19 #include <gtest/gtest.h>
20 #include <securec.h>
21 
22 #include "bus_center_info_key.h"
23 #include "bus_center_manager.h"
24 #include "lnn_data_cloud_sync.h"
25 #include "lnn_log.h"
26 #include "lnn_node_info.h"
27 #include "softbus_adapter_mem.h"
28 #include "softbus_common.h"
29 #include "softbus_error_code.h"
30 
31 namespace OHOS {
32 using namespace testing::ext;
33 using namespace testing;
34 
35 constexpr char VALUE[] = "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000#1";
36 constexpr char RIGHT_KEY[] = "123456789#1111111111111111111111111111111111111111111111111111111111111111#DEVICE_NAME";
37 
38 class LNNDataCloudSyncTest : public testing::Test {
39 public:
40     static void SetUpTestCase();
41     static void TearDownTestCase();
42     void SetUp();
43     void TearDown();
44 };
45 
SetUpTestCase()46 void LNNDataCloudSyncTest::SetUpTestCase() { }
47 
TearDownTestCase()48 void LNNDataCloudSyncTest::TearDownTestCase() { }
49 
SetUp()50 void LNNDataCloudSyncTest::SetUp()
51 {
52     LNN_LOGI(LNN_TEST, "LNNDataCloudSyncTest start");
53 }
54 
TearDown()55 void LNNDataCloudSyncTest::TearDown() { }
56 
57 /*
58  * @tc.name: LnnAsyncCallLedgerAllDataSyncToDB_Test_001
59  * @tc.desc: LnnAsyncCallLedgerAllDataSyncToDB
60  * @tc.type: FUNC
61  * @tc.require:
62  */
63 HWTEST_F(LNNDataCloudSyncTest, LnnAsyncCallLedgerAllDataSyncToDB_Test_001, TestSize.Level1)
64 {
65     NodeInfo *info = nullptr;
66     int32_t ret = LnnAsyncCallLedgerAllDataSyncToDB(info);
67     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
68     info = (NodeInfo *)SoftBusCalloc(sizeof(NodeInfo));
69     ASSERT_NE(info, nullptr);
70     info->accountId = 0;
71     ret = LnnLedgerAllDataSyncToDB(info, false, nullptr);
72     if (ret != SOFTBUS_NOT_IMPLEMENT) {
73         EXPECT_EQ(ret, SOFTBUS_KV_CLOUD_DISABLED);
74     } else {
75         EXPECT_EQ(ret, SOFTBUS_NOT_IMPLEMENT);
76     }
77     info->accountId = 18390933952;
78     ret = LnnAsyncCallLedgerAllDataSyncToDB(info);
79     EXPECT_NE(ret, SOFTBUS_OK);
80     SoftBusFree(info);
81 }
82 
83 /*
84  * @tc.name: LnnLedgerDataChangeSyncToDB_Test_002
85  * @tc.desc: LnnLedgerDataChangeSyncToDB
86  * @tc.type: FUNC
87  * @tc.require:
88  */
89 HWTEST_F(LNNDataCloudSyncTest, LnnLedgerDataChangeSyncToDB_Test_002, TestSize.Level1)
90 {
91     char *key = nullptr;
92     int32_t ret = LnnLedgerDataChangeSyncToDB(key, VALUE, strlen(VALUE));
93     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
94     LnnDeleteSyncToDB();
95 }
96 
97 /*
98  * @tc.name: LnnDBDataChangeSyncToCache_Test_003
99  * @tc.desc: LnnDBDataChangeSyncToCache
100  * @tc.type: FUNC
101  * @tc.require:
102  */
103 HWTEST_F(LNNDataCloudSyncTest, LnnDBDataChangeSyncToCache_Test_003, TestSize.Level1)
104 {
105     char *key = nullptr;
106     char *value = nullptr;
107     ChangeType type = DB_UPDATE;
108     int32_t ret = LnnDBDataChangeSyncToCache(key, value, type);
109     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
110     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, value, type);
111     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
112     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, VALUE, type);
113     type = DB_DELETE;
114     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, VALUE, type);
115     EXPECT_EQ(ret, SOFTBUS_OK);
116     type = DB_CHANGE_TYPE_MAX;
117     ret = LnnDBDataChangeSyncToCache(RIGHT_KEY, VALUE, type);
118     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
119 }
120 
121 /*
122  * @tc.name: LnnDBDataAddChangeSyncToCache_Test_004
123  * @tc.desc: LnnDBDataAddChangeSyncToCache
124  * @tc.type: FUNC
125  * @tc.require:
126  */
127 HWTEST_F(LNNDataCloudSyncTest, LnnDBDataAddChangeSyncToCache_Test_004, TestSize.Level1)
128 {
129     const char **key = nullptr;
130     const char **value = nullptr;
131     int32_t keySize = 0;
132     int32_t ret = LnnDBDataAddChangeSyncToCache(key, value, keySize);
133     EXPECT_EQ(ret, SOFTBUS_INVALID_PARAM);
134 }
135 } // namespace OHOS
136