• 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 "network_ability_stub_test.h"
17 
18 #include "ipc_types.h"
19 #include "message_option.h"
20 #include "message_parcel.h"
21 
22 #include "common_utils.h"
23 #include "constant_definition.h"
24 #include "location_log.h"
25 #include "network_ability_proxy.h"
26 #include "network_callback_host.h"
27 #include "subability_common.h"
28 
29 using namespace testing;
30 using namespace testing::ext;
31 
32 namespace OHOS {
33 namespace Location {
34 const int UNKNOWN_CODE = -1;
35 const int ERR_CODE = 100;
36 const int DEFAULT_STATUS = 0;
SetUp()37 void NetworkAbilityStubTest::SetUp()
38 {
39 }
40 
TearDown()41 void NetworkAbilityStubTest::TearDown()
42 {
43 }
44 
45 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest001, TestSize.Level1)
46 {
47     GTEST_LOG_(INFO)
48         << "NetworkAbilityStubTest, NetworkAbilityStubTest001, TestSize.Level1";
49     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest001 begin");
50     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
51     EXPECT_CALL(*networkAbilityStub, SendMessage(_, _, _)).WillOnce(DoAll(Return()));
52     MessageParcel parcel;
53     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
54     MessageParcel reply;
55     MessageOption option;
56     EXPECT_EQ(ERRCODE_SUCCESS,
57         networkAbilityStub->OnRemoteRequest(ISubAbility::SEND_LOCATION_REQUEST, parcel, reply, option));
58     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest001 end");
59 }
60 
61 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest002, TestSize.Level1)
62 {
63     GTEST_LOG_(INFO)
64         << "NetworkAbilityStubTest, NetworkAbilityStubTest002, TestSize.Level1";
65     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest002 begin");
66     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
67     EXPECT_CALL(*networkAbilityStub, SetEnable(_)).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
68     MessageParcel parcel;
69     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
70     MessageParcel reply;
71     MessageOption option;
72     EXPECT_EQ(ERRCODE_SUCCESS,
73         networkAbilityStub->OnRemoteRequest(ISubAbility::SET_ENABLE, parcel, reply, option));
74     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest002 end");
75 }
76 
77 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest003, TestSize.Level1)
78 {
79     GTEST_LOG_(INFO)
80         << "NetworkAbilityStubTest, NetworkAbilityStubTest003, TestSize.Level1";
81     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest003 begin");
82     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
83     EXPECT_CALL(*networkAbilityStub, SendMessage(_, _, _)).WillOnce(DoAll(Return()));
84     MessageParcel parcel;
85     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
86     MessageParcel reply;
87     MessageOption option;
88     EXPECT_EQ(ERRCODE_SUCCESS,
89         networkAbilityStub->OnRemoteRequest(ISubAbility::SELF_REQUEST, parcel, reply, option));
90     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest003 end");
91 }
92 
93 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest004, TestSize.Level1)
94 {
95     GTEST_LOG_(INFO)
96         << "NetworkAbilityStubTest, NetworkAbilityStubTest004, TestSize.Level1";
97     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest004 begin");
98     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
99     EXPECT_CALL(*networkAbilityStub, EnableMock()).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
100     MessageParcel parcel;
101     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
102     MessageParcel reply;
103     MessageOption option;
104     EXPECT_EQ(ERRCODE_SUCCESS,
105         networkAbilityStub->OnRemoteRequest(ISubAbility::ENABLE_LOCATION_MOCK, parcel, reply, option));
106     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest004 end");
107 }
108 
109 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest005, TestSize.Level1)
110 {
111     GTEST_LOG_(INFO)
112         << "NetworkAbilityStubTest, NetworkAbilityStubTest005, TestSize.Level1";
113     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest005 begin");
114     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
115     EXPECT_CALL(*networkAbilityStub, DisableMock()).WillOnce(DoAll(Return(ERRCODE_SUCCESS)));
116     MessageParcel parcel;
117     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
118     MessageParcel reply;
119     MessageOption option;
120     EXPECT_EQ(ERRCODE_SUCCESS,
121         networkAbilityStub->OnRemoteRequest(ISubAbility::DISABLE_LOCATION_MOCK, parcel, reply, option));
122     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest005 end");
123 }
124 
125 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest006, TestSize.Level1)
126 {
127     GTEST_LOG_(INFO)
128         << "NetworkAbilityStubTest, NetworkAbilityStubTest006, TestSize.Level1";
129     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest006 begin");
130     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
131     EXPECT_CALL(*networkAbilityStub, SendMessage(_, _, _)).WillOnce(DoAll(Return()));
132     MessageParcel parcel;
133     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
134     MessageParcel reply;
135     MessageOption option;
136     EXPECT_EQ(ERRCODE_SUCCESS,
137         networkAbilityStub->OnRemoteRequest(ISubAbility::SET_MOCKED_LOCATIONS, parcel, reply, option));
138     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest006 end");
139 }
140 
141 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest007, TestSize.Level1)
142 {
143     GTEST_LOG_(INFO)
144         << "NetworkAbilityStubTest, NetworkAbilityStubTest007, TestSize.Level1";
145     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest007 begin");
146     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
147     MessageParcel parcel;
148     parcel.WriteInterfaceToken(NetworkAbilityProxy::GetDescriptor());
149     MessageParcel reply;
150     MessageOption option;
151     EXPECT_EQ(IPC_STUB_UNKNOW_TRANS_ERR,
152         networkAbilityStub->OnRemoteRequest(UNKNOWN_CODE, parcel, reply, option));
153     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest007 end");
154 }
155 
156 HWTEST_F(NetworkAbilityStubTest, NetworkAbilityStubTest008, TestSize.Level1)
157 {
158     GTEST_LOG_(INFO)
159         << "NetworkAbilityStubTest, NetworkAbilityStubTest008, TestSize.Level1";
160     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest008 begin");
161     auto networkAbilityStub = sptr<MockNetworkAbilityStub>(new (std::nothrow) MockNetworkAbilityStub());
162     MessageParcel parcel;
163     parcel.WriteInterfaceToken(u"UNKNOWN_DESCRIPTOR");
164     MessageParcel reply;
165     MessageOption option;
166     EXPECT_EQ(ERRCODE_SERVICE_UNAVAILABLE,
167         networkAbilityStub->OnRemoteRequest(UNKNOWN_CODE, parcel, reply, option));
168     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilityStubTest008 end");
169 }
170 
171 /*
172  * @tc.name: NetworkCallback001
173  * @tc.desc: network callback
174  * @tc.type: FUNC
175  */
176 HWTEST_F(NetworkAbilityStubTest, NetworkCallback001, TestSize.Level1)
177 {
178     GTEST_LOG_(INFO)
179         << "NetworkAbilityStubTest, NetworkCallback001, TestSize.Level1";
180     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkCallback001 begin");
181     auto networkCallbackHost =
182         sptr<NetworkCallbackHost>(new (std::nothrow) NetworkCallbackHost());
183     EXPECT_NE(nullptr, networkCallbackHost);
184     std::unique_ptr<Location> location = std::make_unique<Location>();
185     networkCallbackHost->OnLocationReport(location);
186     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkCallback001 end");
187 }
188 
189 /*
190  * @tc.name: NetworkCallback002
191  * @tc.desc: network callback
192  * @tc.type: FUNC
193  */
194 HWTEST_F(NetworkAbilityStubTest, NetworkCallback002, TestSize.Level1)
195 {
196     GTEST_LOG_(INFO)
197         << "NetworkAbilityStubTest, NetworkCallback002, TestSize.Level1";
198     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkCallback002 begin");
199     auto networkCallbackHost =
200         sptr<NetworkCallbackHost>(new (std::nothrow) NetworkCallbackHost());
201     EXPECT_NE(nullptr, networkCallbackHost);
202     networkCallbackHost->OnLocatingStatusChange(DEFAULT_STATUS); // nullptr error
203     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkCallback002 end");
204 }
205 
206 /*
207  * @tc.name: NetworkCallback003
208  * @tc.desc: network callback
209  * @tc.type: FUNC
210  */
211 HWTEST_F(NetworkAbilityStubTest, NetworkCallback003, TestSize.Level1)
212 {
213     GTEST_LOG_(INFO)
214         << "NetworkAbilityStubTest, NetworkCallback003, TestSize.Level1";
215     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkCallback003 begin");
216     auto networkCallbackHost =
217         sptr<NetworkCallbackHost>(new (std::nothrow) NetworkCallbackHost());
218     EXPECT_NE(nullptr, networkCallbackHost);
219     networkCallbackHost->OnErrorReport(ERR_CODE); // nullptr error
220     LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkCallback003 end");
221 }
222 }  // namespace Location
223 }  // namespace OHOS