• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 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 <memory>
17 
18 #include <gtest/gtest.h>
19 
20 #ifdef GTEST_API_
21 #define private public
22 #endif
23 #include "net_manager_constants.h"
24 #include "net_mgr_log_wrapper.h"
25 #include "net_stats_database_helper.h"
26 #include "net_stats_database_defines.h"
27 #include "net_stats_constants.h"
28 namespace OHOS {
29 namespace NetManagerStandard {
30 using namespace NetStatsDatabaseDefines;
31 using namespace testing::ext;
32 namespace {
33 constexpr const char *NET_STATS_DATABASE_TEST_PATH = "/data/service/el1/public/netmanager/net_stats_test.db";
34 } // namespace
35 class NetStatsDatabaseHelperTest : public testing::Test {
36 public:
37     static void SetUpTestCase();
38     static void TearDownTestCase();
39     void SetUp();
40     void TearDown();
41 };
42 
SetUpTestCase()43 void NetStatsDatabaseHelperTest::SetUpTestCase() {}
44 
TearDownTestCase()45 void NetStatsDatabaseHelperTest::TearDownTestCase() {}
46 
SetUp()47 void NetStatsDatabaseHelperTest::SetUp() {}
48 
TearDown()49 void NetStatsDatabaseHelperTest::TearDown() {}
50 
51 HWTEST_F(NetStatsDatabaseHelperTest, CreateTableTest001, TestSize.Level1)
52 {
53     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
54     std::string tableInfo =
55         "ID INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50)";
56     int32_t ret = helper->CreateTable("testTable", tableInfo);
57     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
58 }
59 
60 HWTEST_F(NetStatsDatabaseHelperTest, CreateTableTest002, TestSize.Level1)
61 {
62     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
63     const std::string tableInfo = UID_TABLE_CREATE_PARAM;
64     int32_t ret = helper->CreateTable(UID_TABLE, tableInfo);
65     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
66 }
67 
68 HWTEST_F(NetStatsDatabaseHelperTest, CreateTableTest003, TestSize.Level1)
69 {
70     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
71     const std::string tableInfo = IFACE_TABLE_CREATE_PARAM;
72     int32_t ret = helper->CreateTable(IFACE_TABLE, tableInfo);
73     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
74 }
75 
76 HWTEST_F(NetStatsDatabaseHelperTest, CreateTableTest004, TestSize.Level1)
77 {
78     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
79     const std::string tableInfo = UID_SIM_TABLE_CREATE_PARAM;
80     int32_t ret = helper->CreateTable(UID_SIM_TABLE, tableInfo);
81     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
82 }
83 
84 HWTEST_F(NetStatsDatabaseHelperTest, InsertDataHelperTest001, TestSize.Level1)
85 {
86     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
87     NETMGR_LOG_I("InsertDataHelperTest001");
88     NetStatsInfo info;
89     info.uid_ = 10222;
90     info.iface_ = "eth0";
91     info.date_ = 15254500;
92     info.rxBytes_ = 4455;
93     info.txBytes_ = 8536;
94     info.rxPackets_ = 45122;
95     info.txPackets_ = 144215;
96     int32_t ret = helper->InsertData(UID_TABLE, UID_TABLE_PARAM_LIST, info);
97     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
98     ret = helper->InsertData("", UID_TABLE_PARAM_LIST, info);
99     EXPECT_EQ(ret, NetStatsResultCode::STATS_ERR_WRITE_DATA_FAIL);
100 
101     ret = helper->InsertData(UID_SIM_TABLE, UID_SIM_TABLE_PARAM_LIST, info);
102     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
103     ret = helper->InsertData("", UID_SIM_TABLE_PARAM_LIST, info);
104     EXPECT_EQ(ret, NetStatsResultCode::STATS_ERR_WRITE_DATA_FAIL);
105 }
106 
107 HWTEST_F(NetStatsDatabaseHelperTest, SelectDataHelperTest001, TestSize.Level1)
108 {
109     NETMGR_LOG_I("SelectDataHelperTest001");
110     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
111     std::vector<NetStatsInfo> infos;
112     int32_t ret = helper->SelectData(infos, UID_TABLE, 0, LONG_MAX);
113     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
114     for (auto const &info : infos) {
115         NETMGR_LOG_I("uid:%{public}d, iface:%{public}s, date:%{public}s", info.uid_, info.iface_.c_str(),
116                      std::to_string(info.date_).c_str());
117     }
118     infos.clear();
119     uint64_t date = 15254400;
120     ret = helper->SelectData(infos, UID_TABLE, date, LONG_MAX);
121     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
122     ret = helper->SelectData(infos, "", date, LONG_MAX);
123     EXPECT_EQ(ret, NetStatsResultCode::STATS_ERR_READ_DATA_FAIL);
124 }
125 
126 HWTEST_F(NetStatsDatabaseHelperTest, SelectDataHelperTest002, TestSize.Level1)
127 {
128     NETMGR_LOG_I("SelectDataHelperTest002");
129     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
130     std::vector<NetStatsInfo> infos;
131     uint32_t uid = 100;
132     int32_t ret = helper->SelectData(uid, 0, LONG_MAX, infos);
133     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
134     infos.clear();
135     uint64_t date = 15254400;
136     ret = helper->SelectData(uid, date, LONG_MAX, infos);
137     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
138 }
139 
140 HWTEST_F(NetStatsDatabaseHelperTest, SelectDataHelperTest003, TestSize.Level1)
141 {
142     NETMGR_LOG_I("SelectDataHelperTest003");
143     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
144     std::vector<NetStatsInfo> infos;
145     std::string iface = "wlan0";
146     int32_t ret = helper->SelectData(iface, 0, LONG_MAX, infos);
147     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
148     infos.clear();
149     uint64_t date = 15254400;
150     ret = helper->SelectData(iface, date, LONG_MAX, infos);
151     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
152 }
153 
154 HWTEST_F(NetStatsDatabaseHelperTest, SelectDataHelperTest004, TestSize.Level1)
155 {
156     NETMGR_LOG_I("SelectDataHelperTest004");
157     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
158     std::vector<NetStatsInfo> infos;
159     std::string iface = "wlan0";
160     uint32_t uid = 100;
161     int32_t ret = helper->SelectData(iface, uid, 0, LONG_MAX, infos);
162     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
163     infos.clear();
164     uint64_t date = 15254400;
165     ret = helper->SelectData(iface, uid, date, LONG_MAX, infos);
166     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
167 }
168 
169 HWTEST_F(NetStatsDatabaseHelperTest, QueryDataDataHelperTest001, TestSize.Level1)
170 {
171     NETMGR_LOG_I("QueryDataDataHelperTest001");
172     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
173     std::vector<NetStatsInfo> infos;
174     std::string ident = "2";
175     int32_t ret = helper->QueryData(UID_TABLE, ident, 0, LONG_MAX, infos);
176     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
177     infos.clear();
178     uint64_t date = 15254400;
179     ret = helper->QueryData(UID_TABLE, ident, date, LONG_MAX, infos);
180     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
181     ret = helper->QueryData("", ident, 0, LONG_MAX, infos);
182     EXPECT_EQ(ret, STATS_ERR_READ_DATA_FAIL);
183 }
184 
185 HWTEST_F(NetStatsDatabaseHelperTest, QueryDataDataHelperTest002, TestSize.Level1)
186 {
187     NETMGR_LOG_I("QueryDataDataHelperTest002");
188     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
189     std::vector<NetStatsInfo> infos;
190     uint32_t uid = 200022;
191     std::string ident = "2";
192     int32_t ret = helper->QueryData(UID_TABLE, uid, ident, 0, LONG_MAX, infos);
193     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
194     infos.clear();
195     uint64_t date = 15254400;
196     ret = helper->QueryData(UID_TABLE, uid, ident, date, LONG_MAX, infos);
197     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
198     ret = helper->QueryData("", uid, ident, 0, LONG_MAX, infos);
199     EXPECT_EQ(ret, STATS_ERR_READ_DATA_FAIL);
200 }
201 
202 HWTEST_F(NetStatsDatabaseHelperTest, DeleteDataHelperTest001, TestSize.Level1)
203 {
204     NETMGR_LOG_I("DeleteDataHelperTest001");
205     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
206     uint64_t date = 15254400;
207     int32_t ret = helper->DeleteData(UID_TABLE, date, 15254560);
208     std::vector<NetStatsInfo> infos;
209     helper->SelectData(infos, UID_TABLE, 0, LONG_MAX);
210     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
211 }
212 
213 HWTEST_F(NetStatsDatabaseHelperTest, DeleteDataHelperTest002, TestSize.Level1)
214 {
215     NETMGR_LOG_I("DeleteDataHelperTest002");
216     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
217     uint32_t uid = 100;
218     int32_t ret = helper->DeleteData(UID_TABLE, uid);
219     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
220 }
221 
222 HWTEST_F(NetStatsDatabaseHelperTest, ClearDataHelperTest001, TestSize.Level1)
223 {
224     auto helper = std::make_unique<NetStatsDatabaseHelper>(NET_STATS_DATABASE_TEST_PATH);
225     std::vector<NetStatsInfo> infos;
226     std::string iface = "wlan0";
227     uint32_t uid = 100;
228     int32_t ret = helper->SelectData(iface, uid, 0, LONG_MAX, infos);
229     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
230     ret = helper->ClearData(UID_TABLE);
231     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
232 }
233 
234 HWTEST_F(NetStatsDatabaseHelperTest, NetStatsDatabaseHelperBranchTest001, TestSize.Level1)
235 {
236     auto helper = std::make_unique<NetStatsDatabaseHelper>("");
237     int32_t ret = helper->Open("");
238     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
239 
240     ret = helper->Close();
241     EXPECT_EQ(ret, NETMANAGER_SUCCESS);
242 
243     int32_t id = 0;
244     ret = helper->BindInt64(id, 0, 0);
245     EXPECT_EQ(ret, STATS_ERR_READ_DATA_FAIL);
246 
247     ret = helper->ClearData("");
248     EXPECT_EQ(ret, NETMANAGER_ERROR);
249 }
250 } // namespace NetManagerStandard
251 } // namespace OHOS
252