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
18 #ifdef GTEST_API_
19 #define private public
20 #define protected public
21 #endif
22
23 #include "common_net_stats_callback_test.h"
24
25 namespace OHOS {
26 namespace NetManagerStandard {
27 namespace {
28 constexpr uint64_t OUTOFFRANGECODE = 100;
29 } // namespace
30
31 using namespace testing::ext;
32 class NetStatsCallbackStubTest : public testing::Test {
33 public:
34 static void SetUpTestCase();
35 static void TearDownTestCase();
36 void SetUp();
37 void TearDown();
38 static inline std::shared_ptr<NetStatsCallbackStub> instance_ = std::make_shared<NetStatsCallbackTestCb>();
39 };
40
SetUpTestCase()41 void NetStatsCallbackStubTest::SetUpTestCase() {}
42
TearDownTestCase()43 void NetStatsCallbackStubTest::TearDownTestCase() {}
44
SetUp()45 void NetStatsCallbackStubTest::SetUp() {}
46
TearDown()47 void NetStatsCallbackStubTest::TearDown() {}
48
49 /**
50 * @tc.name: OnRemoteRequestTest001
51 * @tc.desc: Test NetStatsCallbackStub OnRemoteRequest.
52 * @tc.type: FUNC
53 */
54 HWTEST_F(NetStatsCallbackStubTest, OnRemoteRequestTest001, TestSize.Level1)
55 {
56 MessageParcel data;
57 MessageParcel reply;
58 MessageOption option;
59 int32_t ret = instance_->OnRemoteRequest(OUTOFFRANGECODE, data, reply, option);
60 EXPECT_EQ(ret, NETMANAGER_ERR_DESCRIPTOR_MISMATCH);
61 }
62
63 /**
64 * @tc.name: OnRemoteRequestTest002
65 * @tc.desc: Test NetStatsCallbackStub OnRemoteRequest.
66 * @tc.type: FUNC
67 */
68 HWTEST_F(NetStatsCallbackStubTest, OnRemoteRequestTest002, TestSize.Level1)
69 {
70 MessageParcel data;
71 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
72 return;
73 }
74 MessageParcel reply;
75 MessageOption option;
76 int32_t ret = instance_->OnRemoteRequest(OUTOFFRANGECODE, data, reply, option);
77 EXPECT_EQ(ret, IPC_STUB_UNKNOW_TRANS_ERR);
78 }
79
80 /**
81 * @tc.name: OnRemoteRequestTest003
82 * @tc.desc: Test NetStatsCallbackStub OnRemoteRequest.
83 * @tc.type: FUNC
84 */
85 HWTEST_F(NetStatsCallbackStubTest, OnRemoteRequestTest003, TestSize.Level1)
86 {
87 MessageParcel data;
88 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
89 return;
90 }
91 if (!data.WriteString("test")) {
92 return;
93 }
94 MessageParcel reply;
95 MessageOption option;
96 int32_t ret = instance_->OnRemoteRequest(static_cast<uint32_t>(StatsCallBackInterfaceCode::NET_STATS_IFACE_CHANGED),
97 data, reply, option);
98 EXPECT_EQ(ret, 0);
99 }
100
101 /**
102 * @tc.name: OnNetIfaceStatsChangedTest001
103 * @tc.desc: Test NetStatsCallbackStub OnNetIfaceStatsChanged.
104 * @tc.type: FUNC
105 */
106 HWTEST_F(NetStatsCallbackStubTest, OnNetIfaceStatsChangedTest001, TestSize.Level1)
107 {
108 MessageParcel data;
109 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
110 return;
111 }
112 MessageParcel reply;
113 MessageOption option;
114 int32_t ret = instance_->OnRemoteRequest(static_cast<uint32_t>(StatsCallBackInterfaceCode::NET_STATS_IFACE_CHANGED),
115 data, reply, option);
116 EXPECT_EQ(ret, NETMANAGER_ERR_READ_DATA_FAIL);
117 }
118
119 /**
120 * @tc.name: OnNetIfaceStatsChangedTest002
121 * @tc.desc: Test NetStatsCallbackStub OnNetIfaceStatsChanged.
122 * @tc.type: FUNC
123 */
124 HWTEST_F(NetStatsCallbackStubTest, OnNetIfaceStatsChangedTest002, TestSize.Level1)
125 {
126 MessageParcel data;
127 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
128 return;
129 }
130 if (!data.WriteString("test")) {
131 return;
132 }
133 MessageParcel reply;
134 MessageOption option;
135 int32_t ret = instance_->OnRemoteRequest(static_cast<uint32_t>(StatsCallBackInterfaceCode::NET_STATS_IFACE_CHANGED),
136 data, reply, option);
137 EXPECT_EQ(ret, NETMANAGER_SUCCESS);
138 }
139
140 /**
141 * @tc.name: OnNetUidStatsChangedTest001
142 * @tc.desc: Test NetStatsCallbackStub OnNetUidStatsChanged.
143 * @tc.type: FUNC
144 */
145 HWTEST_F(NetStatsCallbackStubTest, OnNetUidStatsChangedTest001, TestSize.Level1)
146 {
147 MessageParcel data;
148 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
149 return;
150 }
151 MessageParcel reply;
152 MessageOption option;
153 int32_t ret = instance_->OnRemoteRequest(static_cast<uint32_t>(StatsCallBackInterfaceCode::NET_STATS_UID_CHANGED),
154 data, reply, option);
155 EXPECT_EQ(ret, NETMANAGER_ERR_READ_DATA_FAIL);
156 }
157
158 /**
159 * @tc.name: OnNetUidStatsChangedTest002
160 * @tc.desc: Test NetStatsCallbackStub OnNetUidStatsChanged.
161 * @tc.type: FUNC
162 */
163 HWTEST_F(NetStatsCallbackStubTest, OnNetUidStatsChangedTest002, TestSize.Level1)
164 {
165 MessageParcel data;
166 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
167 return;
168 }
169 if (!data.WriteString("test")) {
170 return;
171 }
172 MessageParcel reply;
173 MessageOption option;
174 int32_t ret = instance_->OnRemoteRequest(static_cast<uint32_t>(StatsCallBackInterfaceCode::NET_STATS_UID_CHANGED),
175 data, reply, option);
176 EXPECT_EQ(ret, NETMANAGER_ERR_READ_DATA_FAIL);
177 }
178
179 /**
180 * @tc.name: OnNetUidStatsChangedTest003
181 * @tc.desc: Test NetStatsCallbackStub OnNetUidStatsChanged.
182 * @tc.type: FUNC
183 */
184 HWTEST_F(NetStatsCallbackStubTest, OnNetUidStatsChangedTest003, TestSize.Level1)
185 {
186 MessageParcel data;
187 if (!data.WriteInterfaceToken(NetStatsCallbackStub::GetDescriptor())) {
188 return;
189 }
190 if (!data.WriteString("test")) {
191 return;
192 }
193 if (!data.WriteUint32(1)) {
194 return;
195 }
196 MessageParcel reply;
197 MessageOption option;
198 int32_t ret = instance_->OnRemoteRequest(static_cast<uint32_t>(StatsCallBackInterfaceCode::NET_STATS_UID_CHANGED),
199 data, reply, option);
200 EXPECT_EQ(ret, NETMANAGER_SUCCESS);
201 }
202 } // namespace NetManagerStandard
203 } // namespace OHOS