* Copyright (C) 2022 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifdef FEATURE_NETWORK_SUPPORT
#include "network_ability_test.h"
#define private public
#include "network_ability.h"
#undef private
#include <cstdlib>
#include "accesstoken_kit.h"
#include "if_system_ability_manager.h"
#include "ipc_skeleton.h"
#include "iservice_registry.h"
#include "message_parcel.h"
#include "nativetoken_kit.h"
#include "system_ability_definition.h"
#include "token_setproc.h"
#include "common_utils.h"
#include "constant_definition.h"
#include "location.h"
#include "location_dumper.h"
#include "location_log.h"
#include "network_ability_skeleton.h"
#include "gmock/gmock.h"
#include "common_utils.h"
#include "mock_i_remote_object.h"
#include <gtest/gtest.h>
#include "network_callback_host.h"
#include "permission_manager.h"
#include "locationhub_ipc_interface_code.h"
#include "location_data_rdb_manager.h"
#include "locationhub_ipc_interface_code.h"
#include "location_sa_load_manager.h"
#include "system_ability_definition.h"
#include "if_system_ability_manager.h"
#include "iservice_registry.h"
#include "location_log.h"
#include "bundle_mgr_interface.h"
#include "bundle_mgr_proxy.h"
#include "parameter.h"
#include "accesstoken_kit.h"
#include "os_account_manager.h"
using namespace testing;
using namespace testing::ext;
namespace OHOS {
namespace Location {
const int32_t LOCATION_PERM_NUM = 5;
const std::string ARGS_HELP = "-h";
const std::string UNLOAD_NETWORK_TASK = "network_sa_unload";
const int32_t WAIT_EVENT_TIME = 1;
void NetworkAbilityTest::SetUp()
{
* @tc.setup: Get system ability's pointer and get sa proxy object.
*/
MockNativePermission();
ability_ = new (std::nothrow) NetworkAbility();
ability_->networkHandler_ =
std::make_shared<NetworkHandler>(AppExecFwk::EventRunner::Create(true, AppExecFwk::ThreadMode::FFRT));
EXPECT_NE(nullptr, ability_);
proxy_ = new (std::nothrow) NetworkAbilityProxy(ability_);
EXPECT_NE(nullptr, proxy_);
}
void NetworkAbilityTest::TearDown()
{
* @tc.teardown: release memory.
*/
ability_->networkHandler_->RemoveTask(UNLOAD_NETWORK_TASK);
sleep(WAIT_EVENT_TIME);
proxy_ = nullptr;
ability_ = nullptr;
}
void NetworkAbilityTest::TearDownTestCase()
{
* @tc.teardown: release memory.
*/
sleep(WAIT_EVENT_TIME);
}
void NetworkAbilityTest::MockNativePermission()
{
const char *perms[] = {
ACCESS_LOCATION.c_str(), ACCESS_APPROXIMATELY_LOCATION.c_str(),
ACCESS_BACKGROUND_LOCATION.c_str(), MANAGE_SECURE_SETTINGS.c_str(),
ACCESS_CONTROL_LOCATION_SWITCH.c_str(),
};
NativeTokenInfoParams infoInstance = {
.dcapsNum = 0,
.permsNum = LOCATION_PERM_NUM,
.aclsNum = 0,
.dcaps = nullptr,
.perms = perms,
.acls = nullptr,
.processName = "NetworkAbilityTest",
.aplStr = "system_basic",
};
uint64_t tokenId = GetAccessTokenId(&infoInstance);
SetSelfTokenID(tokenId);
Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
}
* @tc.name: SendLocationRequest001
* @tc.desc: Build Request, marshall and unmarshall data Then Send it
* @tc.type: FUNC
*/
HWTEST_F(NetworkAbilityTest, SendLocationRequest001, TestSize.Level0)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, SendLocationRequest001, TestSize.Level0";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] SendLocationRequest001 begin");
* @tc.steps: step1. build location request data.
*/
std::unique_ptr<WorkRecord> workRecord = std::make_unique<WorkRecord>();
int num = 2;
for (int i = 0; i < num; i++) {
std::shared_ptr<Request> request = std::make_shared<Request>();
std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
requestConfig->SetTimeInterval(i);
request->SetUid(i + 1);
request->SetPid(i + 2);
request->SetPackageName("nameForTest");
request->SetRequestConfig(*requestConfig);
request->SetUuid(std::to_string(CommonUtils::IntRandom(MIN_INT_RANDOM, MAX_INT_RANDOM)));
request->SetNlpRequestType(i + 1);
workRecord->Add(request);
}
* @tc.steps: step2. send location request
* @tc.expected: step2. no exception happens.
*/
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SendLocationRequest(*workRecord));
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] SendLocationRequest001 end");
}
* @tc.name: SetEnableAndDisable001
* @tc.desc: Test disable and enable system ability
* @tc.type: FUNC
*/
HWTEST_F(NetworkAbilityTest, SetEnableAndDisable001, TestSize.Level0)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, SetEnableAndDisable001, TestSize.Level0";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] SetEnableAndDisable001 begin");
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetEnable(false));
* @tc.steps: step1.remove SA
* @tc.expected: step1. object1 is null.
*/
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetEnable(false));
* @tc.steps: step2. test enable SA
* @tc.expected: step2. object2 is not null.
*/
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetEnable(true));
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] SetEnableAndDisable001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkLocationMock001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkLocationMock001, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkLocationMock001 begin");
int timeInterval = 1;
std::vector<std::shared_ptr<Location>> locations;
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->EnableMock());
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->SetMocked(timeInterval, locations));
EXPECT_EQ(ERRCODE_SUCCESS, proxy_->DisableMock());
EXPECT_EQ(LOCATION_ERRCODE_NOT_SUPPORTED, proxy_->SetMocked(timeInterval, locations));
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkLocationMock001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkOnStartAndOnStop001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkOnStartAndOnStop001, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkOnStartAndOnStop001 begin");
ability_->OnStart();
EXPECT_EQ(ServiceRunningState::STATE_NOT_START,
(ServiceRunningState)ability_->QueryServiceState());
ability_->OnStart();
EXPECT_EQ(ServiceRunningState::STATE_NOT_START,
(ServiceRunningState)ability_->QueryServiceState());
ability_->OnStop();
EXPECT_EQ(ServiceRunningState::STATE_NOT_START,
(ServiceRunningState)ability_->QueryServiceState());
ability_->OnStart();
EXPECT_EQ(ServiceRunningState::STATE_NOT_START,
(ServiceRunningState)ability_->QueryServiceState());
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkOnStartAndOnStop001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkDump001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkDump001, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkDump001 begin");
int32_t fd = 0;
std::vector<std::u16string> args;
std::u16string arg1 = Str8ToStr16("arg1");
args.emplace_back(arg1);
std::u16string arg2 = Str8ToStr16("arg2");
args.emplace_back(arg2);
std::u16string arg3 = Str8ToStr16("arg3");
args.emplace_back(arg3);
std::u16string arg4 = Str8ToStr16("arg4");
args.emplace_back(arg4);
EXPECT_EQ(ERR_OK, ability_->Dump(fd, args));
std::vector<std::u16string> emptyArgs;
EXPECT_EQ(ERR_OK, ability_->Dump(fd, emptyArgs));
std::vector<std::u16string> helpArgs;
std::u16string helpArg1 = Str8ToStr16(ARGS_HELP);
helpArgs.emplace_back(helpArg1);
EXPECT_EQ(ERR_OK, ability_->Dump(fd, helpArgs));
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkDump001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkSendReportMockLocationEvent001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkSendReportMockLocationEvent001, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkSendReportMockLocationEvent001 begin");
ability_->SendReportMockLocationEvent();
int timeInterval = 0;
std::vector<std::shared_ptr<Location>> locations;
Parcel parcel;
parcel.WriteDouble(10.6);
parcel.WriteDouble(10.5);
parcel.WriteDouble(10.4);
parcel.WriteDouble(1.0);
parcel.WriteDouble(5.0);
parcel.WriteDouble(10);
parcel.WriteInt64(1611000000);
parcel.WriteInt64(1611000000);
parcel.WriteString16(u"additions");
parcel.WriteInt64(1);
parcel.WriteInt32(1);
locations.push_back(Location::UnmarshallingShared(parcel));
EXPECT_EQ(ERRCODE_SUCCESS, ability_->EnableMock());
EXPECT_EQ(ERRCODE_SUCCESS, ability_->SetMocked(timeInterval, locations));
sleep(2);
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkSendReportMockLocationEvent001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkSendReportMockLocationEvent002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkSendReportMockLocationEvent002, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkSendReportMockLocationEvent002 begin");
ability_->SendReportMockLocationEvent();
int timeInterval = 0;
std::vector<std::shared_ptr<Location>> locations;
Parcel parcel;
parcel.WriteDouble(10.6);
parcel.WriteDouble(10.5);
parcel.WriteDouble(10.4);
parcel.WriteDouble(1.0);
parcel.WriteDouble(5.0);
parcel.WriteDouble(10);
parcel.WriteInt64(1611000000);
parcel.WriteInt64(1611000000);
parcel.WriteString16(u"additions");
parcel.WriteInt64(1);
parcel.WriteInt32(0);
locations.push_back(Location::UnmarshallingShared(parcel));
EXPECT_EQ(ERRCODE_SUCCESS, ability_->EnableMock());
EXPECT_EQ(ERRCODE_SUCCESS, ability_->SetMocked(timeInterval, locations));
sleep(2);
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkSendReportMockLocationEvent002 end");
}
* @tc.name: NetworkConnectNlpService001
* @tc.desc: connect nlp service
* @tc.type: FUNC
*/
HWTEST_F(NetworkAbilityTest, NetworkConnectNlpService001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkConnectNlpService001, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkConnectNlpService001 begin");
EXPECT_EQ(false, ability_->ReConnectNlpService());
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkConnectNlpService001 end");
}
HWTEST_F(NetworkAbilityTest, ReConnectNlpService001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, ReConnectNlpService001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReConnectNlpService001 begin");
auto ability = sptr<NetworkAbility>(new (std::nothrow) NetworkAbility());
EXPECT_EQ(false, ability->ReConnectNlpService());
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReConnectNlpService001 end");
}
HWTEST_F(NetworkAbilityTest, NotifyConnected001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NotifyConnected001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NotifyConnected001 begin");
auto ability = sptr<NetworkAbility>(new (std::nothrow) NetworkAbility());
sptr<IRemoteObject> obj = nullptr;
ability->NotifyConnected(obj);
EXPECT_EQ(nullptr, ability->nlpServiceProxy_);
ability->NotifyDisConnected();
EXPECT_EQ(nullptr, ability->nlpServiceProxy_);
LBSLOGI(NETWORK, "[NetworkAbilityTest] NotifyConnected001 end");
}
HWTEST_F(NetworkAbilityTest, SendLocationRequest002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, SendLocationRequest002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] SendLocationRequest002 begin");
auto ability = sptr<NetworkAbility>(new (std::nothrow) NetworkAbility());
WorkRecord workRecord;
ability->SendLocationRequest(workRecord);
LBSLOGI(NETWORK, "[NetworkAbilityTest] SendLocationRequest002 end");
}
HWTEST_F(NetworkAbilityTest, RequestRecord001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RequestRecord001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RequestRecord001 begin");
auto ability = sptr<NetworkAbility>(new (std::nothrow) NetworkAbility());
WorkRecord workRecord;
ability->RequestRecord(workRecord, true);
ability->RequestRecord(workRecord, false);
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability->nlpServiceProxy_ = nlpServiceProxy;
ability->RequestRecord(workRecord, true);
ability->RequestRecord(workRecord, false);
LBSLOGI(NETWORK, "[NetworkAbilityTest] RequestRecord001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest001 begin");
sptr<NetworkCallbackHost> callback = new (std::nothrow) NetworkCallbackHost();
uint32_t code = static_cast<uint32_t>(ILocatorCallback::RECEIVE_LOCATION_INFO_EVENT);
MessageParcel data;
data.WriteInterfaceToken(u"location.ILocatorCallback");
MessageParcel reply;
MessageOption option;
EXPECT_EQ(0, callback->OnRemoteRequest(code, data, reply, option));
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest002 begin");
sptr<NetworkCallbackHost> callback = new (std::nothrow) NetworkCallbackHost();
uint32_t code = 0;
MessageParcel data;
data.WriteInterfaceToken(u"location.ILocatorCallback");
MessageParcel reply;
MessageOption option;
EXPECT_EQ(0, callback->OnRemoteRequest(code, data, reply, option));
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest002 end");
}
HWTEST_F(NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest003, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest003, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest003 begin");
sptr<NetworkCallbackHost> callback = new (std::nothrow) NetworkCallbackHost();
uint32_t code = 0;
MessageParcel data;
data.WriteInterfaceToken(u"wrong.interface.token");
MessageParcel reply;
MessageOption option;
EXPECT_EQ(-1, callback->OnRemoteRequest(code, data, reply, option));
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest003 end");
}
HWTEST_F(NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest004, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest004, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest004 begin");
sptr<NetworkCallbackHost> callback = new (std::nothrow) NetworkCallbackHost();
uint32_t code = static_cast<uint32_t>(ILocatorCallback::RECEIVE_LOCATION_INFO_EVENT_V9);
MessageParcel data;
data.WriteInterfaceToken(u"location.ILocatorCallback");
MessageParcel reply;
MessageOption option;
EXPECT_EQ(0, callback->OnRemoteRequest(code, data, reply, option));
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest004 end");
}
HWTEST_F(NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest005, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkCallbackHostOnRemoteRequest005, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest005 begin");
sptr<NetworkCallbackHost> callback = new (std::nothrow) NetworkCallbackHost();
uint32_t code = static_cast<uint32_t>(ILocatorCallback::RECEIVE_ERROR_INFO_EVENT);
MessageParcel data;
data.WriteInterfaceToken(u"location.ILocatorCallback");
MessageParcel reply;
MessageOption option;
EXPECT_EQ(0, callback->OnRemoteRequest(code, data, reply, option));
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkCallbackHostOnRemoteRequest005 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilityInit001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkAbilityInit001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityInit001 begin");
ability_->registerToAbility_ = false;
bool ret = ability_->Init();
EXPECT_EQ(false, ret);
ability_->registerToAbility_ = true;
ret = ability_->Init();
EXPECT_EQ(true, ret);
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityInit001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilityConnectNlpService001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkAbilityConnectNlpService001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityConnectNlpService001 begin");
bool ret = ability_->ConnectNlpService();
EXPECT_EQ(false, ret);
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityConnectNlpService001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilityReConnectNlpService001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkAbilityReConnectNlpService001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityReConnectNlpService001 begin");
bool ret = ability_->ReConnectNlpService();
EXPECT_EQ(false, ret);
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityReConnectNlpService001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilityProcessReportLocationMock001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkAbilityProcessReportLocationMock001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityProcessReportLocationMock001 begin");
std::vector<std::shared_ptr<Location>> locations;
Parcel parcel;
parcel.WriteDouble(10.6);
parcel.WriteDouble(10.5);
parcel.WriteDouble(10.4);
parcel.WriteDouble(1.0);
parcel.WriteDouble(5.0);
parcel.WriteDouble(10);
parcel.WriteInt64(1611000000);
parcel.WriteInt64(1611000000);
parcel.WriteString16(u"additions");
parcel.WriteInt64(1);
parcel.WriteInt32(1);
locations.push_back(Location::UnmarshallingShared(parcel));
ability_->ProcessReportLocationMock();
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityProcessReportLocationMock001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilityProcessReportLocationMock002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkAbilityProcessReportLocationMock002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityProcessReportLocationMock002 begin");
std::vector<std::shared_ptr<Location>> locations;
Parcel parcel;
parcel.WriteDouble(10.6);
parcel.WriteDouble(10.5);
parcel.WriteDouble(10.4);
parcel.WriteDouble(1.0);
parcel.WriteDouble(5.0);
parcel.WriteDouble(10);
parcel.WriteInt64(1611000000);
parcel.WriteInt64(1611000000);
parcel.WriteString16(u"additions");
parcel.WriteInt64(1);
parcel.WriteInt32(1);
locations.push_back(Location::UnmarshallingShared(parcel));
ability_->CacheLocationMock(locations);
ability_->ProcessReportLocationMock();
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilityProcessReportLocationMock002 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilitySendReportMockLocationEvent001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkAbilitySendReportMockLocationEvent001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilitySendReportMockLocationEvent001 begin");
ability_->SendReportMockLocationEvent();
LBSLOGI(NETWORK, "[NetworkAbilityTest] NetworkAbilitySendReportMockLocationEvent001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkAbilitySendMessage001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityStubTest, NetworkAbilitySendMessage001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilitySendMessage001 begin");
MessageParcel requestParcel;
requestParcel.WriteInterfaceToken(u"location.INetworkAbility");
requestParcel.WriteBuffer("data", 4);
requestParcel.RewindRead(0);
MessageParcel reply;
ability_->SendMessage(0, requestParcel, reply);
LBSLOGI(NETWORK, "[NetworkAbilityStubTest] NetworkAbilitySendMessage001 end");
}
HWTEST_F(NetworkAbilityTest, ResetServiceProxy001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, ResetServiceProxy001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] ResetServiceProxy001 begin");
EXPECT_EQ(true, ability_->ResetServiceProxy());
LBSLOGI(NETWORK, "[NetworkAbilityTest] ResetServiceProxy001 end");
}
HWTEST_F(NetworkAbilityTest, RequestNetworkLocation001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RequestNetworkLocation001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RequestNetworkLocation001 begin");
auto workRecord = std::make_shared<WorkRecord>();
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability_->nlpServiceProxy_ = nlpServiceProxy;
std::shared_ptr<Request> request = std::make_shared<Request>();
std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
requestConfig->SetTimeInterval(0);
request->SetUid(1);
request->SetPid(2);
request->SetPackageName("nameForTest");
request->SetRequestConfig(*requestConfig);
request->SetUuid(std::to_string(CommonUtils::IntRandom(MIN_INT_RANDOM, MAX_INT_RANDOM)));
request->SetNlpRequestType(1);
workRecord->Add(request);
ability_->RequestNetworkLocation(*workRecord);
LBSLOGI(NETWORK, "[NetworkAbilityTest] RequestNetworkLocation001 end");
}
HWTEST_F(NetworkAbilityTest, RemoveNetworkLocation001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RemoveNetworkLocation001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RemoveNetworkLocation001 begin");
auto workRecord = std::make_shared<WorkRecord>();
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability_->nlpServiceProxy_ = nlpServiceProxy;
std::shared_ptr<Request> request = std::make_shared<Request>();
std::unique_ptr<RequestConfig> requestConfig = std::make_unique<RequestConfig>();
requestConfig->SetTimeInterval(0);
request->SetUid(1);
request->SetPid(2);
request->SetPackageName("nameForTest");
request->SetRequestConfig(*requestConfig);
request->SetUuid(std::to_string(CommonUtils::IntRandom(MIN_INT_RANDOM, MAX_INT_RANDOM)));
request->SetNlpRequestType(1);
workRecord->Add(request);
ability_->RemoveNetworkLocation(*workRecord);
LBSLOGI(NETWORK, "[NetworkAbilityTest] RemoveNetworkLocation001 end");
}
#ifdef FEATURE_PASSIVE_SUPPORT
HWTEST_F(NetworkAbilityTest, ReportMockedLocation001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, ReportMockedLocation001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReportMockedLocation001 begin");
std::vector<std::shared_ptr<Location>> locations;
Parcel parcel;
parcel.WriteDouble(10.6);
parcel.WriteDouble(10.5);
parcel.WriteDouble(10.4);
parcel.WriteDouble(1.0);
parcel.WriteDouble(5.0);
parcel.WriteDouble(10);
parcel.WriteInt64(1611000000);
parcel.WriteInt64(1611000000);
parcel.WriteString16(u"additions");
parcel.WriteInt64(1);
parcel.WriteInt32(1);
locations.push_back(Location::UnmarshallingShared(parcel));
ability_->ReportMockedLocation(locations);
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReportMockedLocation001 end");
}
#endif
HWTEST_F(NetworkAbilityTest, RegisterNlpServiceDeathRecipient001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RegisterNlpServiceDeathRecipient001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RegisterNlpServiceDeathRecipient001 begin");
ability_->RegisterNlpServiceDeathRecipient();
LBSLOGI(NETWORK, "[NetworkAbilityTest] RegisterNlpServiceDeathRecipient001 end");
}
HWTEST_F(NetworkAbilityTest, ReportLocationError001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, ReportLocationError001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReportLocationError001 begin");
ability_->ReportLocationError(0, "", "");
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReportLocationError001 end");
}
HWTEST_F(NetworkAbilityTest, ReportMockedLocation001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, ReportMockedLocation001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReportMockedLocation001 begin");
std::shared_ptr<Location> location = std::make_shared<Location>();
ability_->ReportMockedLocation(location);
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReportMockedLocation001 end");
}
HWTEST_F(NetworkAbilityTest, OnRemoteDied001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, OnRemoteDied001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] OnRemoteDied001 begin");
auto deathRecipient = new (std::nothrow) NlpServiceDeathRecipient();
const wptr<IRemoteObject> object;
deathRecipient->OnRemoteDied(object);
LBSLOGI(NETWORK, "[NetworkAbilityTest] OnRemoteDied001 end");
}
HWTEST_F(NetworkAbilityTest, NetworkOnStartAndOnStop002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkOnStartAndOnStop002, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkOnStartAndOnStop002 begin");
ability_->state_ = ServiceRunningState::STATE_RUNNING;
ability_->OnStart();
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkOnStartAndOnStop002 end");
}
HWTEST_F(NetworkAbilityTest, NetworkConnectNlpService002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NetworkConnectNlpService002, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkConnectNlpService002 begin");
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability_->nlpServiceProxy_ = nlpServiceProxy;
ability_->ConnectNlpService();
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] NetworkConnectNlpService002 end");
}
HWTEST_F(NetworkAbilityTest, ReConnectNlpService002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, ReConnectNlpService002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReConnectNlpService002 begin");
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability_->nlpServiceProxy_ = nlpServiceProxy;
ability_->ReConnectNlpService();
LBSLOGI(NETWORK, "[NetworkAbilityTest] ReConnectNlpService002 end");
}
HWTEST_F(NetworkAbilityTest, SetEnableAndDisable002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, SetEnableAndDisable002, TestSize.Level1";
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] SetEnableAndDisable002 begin");
* @tc.steps: step1.remove SA
* @tc.expected: step1. object1 is null.
*/
ability_->SetEnable(false);
* @tc.steps: step2. test enable SA
* @tc.expected: step2. object2 is not null.
*/
ability_->SetEnable(true);
LBSLOGI(NETWORK_TEST, "[NetworkAbilityTest] SetEnableAndDisable002 end");
}
HWTEST_F(NetworkAbilityTest, UnloadNetworkSystemAbility001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, UnloadNetworkSystemAbility001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] UnloadNetworkSystemAbility001 begin");
ability_->UnloadNetworkSystemAbility();
LBSLOGI(NETWORK, "[NetworkAbilityTest] UnloadNetworkSystemAbility001 end");
}
HWTEST_F(NetworkAbilityTest, RequestNetworkLocation002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RequestNetworkLocation002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RequestNetworkLocation002 begin");
ability_->nlpServiceProxy_ = nullptr;
WorkRecord workRecord;
EXPECT_EQ(false, ability_->RequestNetworkLocation(workRecord));
LBSLOGI(NETWORK, "[NetworkAbilityTest] RequestNetworkLocation002 end");
}
HWTEST_F(NetworkAbilityTest, RemoveNetworkLocation002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RemoveNetworkLocation002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RemoveNetworkLocation002 begin");
ability_->nlpServiceProxy_ = nullptr;
WorkRecord workRecord;
EXPECT_EQ(false, ability_->RemoveNetworkLocation(workRecord));
LBSLOGI(NETWORK, "[NetworkAbilityTest] RemoveNetworkLocation002 end");
}
HWTEST_F(NetworkAbilityTest, RegisterNlpServiceDeathRecipient002, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, RegisterNlpServiceDeathRecipient002, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] RegisterNlpServiceDeathRecipient002 begin");
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability_->nlpServiceProxy_ = nlpServiceProxy;
ability_->RegisterNlpServiceDeathRecipient();
ability_->UnregisterNlpServiceDeathRecipient();
ability_->UnregisterNlpServiceDeathRecipient();
ability_->RegisterNlpServiceDeathRecipient();
LBSLOGI(NETWORK, "[NetworkAbilityTest] RegisterNlpServiceDeathRecipient002 end");
}
HWTEST_F(NetworkAbilityTest, InitNetworkEventProcessMap001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, InitNetworkEventProcessMap001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] InitNetworkEventProcessMap001 begin");
ASSERT_TRUE(ability_ != nullptr);
ASSERT_TRUE(ability_->networkHandler_ != nullptr);
ability_->networkHandler_->InitNetworkEventProcessMap();
ability_->networkHandler_->InitNetworkEventProcessMap();
LBSLOGI(NETWORK, "[NetworkAbilityTest] InitNetworkEventProcessMap001 end");
}
HWTEST_F(NetworkAbilityTest, CheckLocationSwitchState001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, CheckLocationSwitchState001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] CheckLocationSwitchState001 begin");
MessageParcel reply;
ASSERT_TRUE(ability_ != nullptr);
ability_->CheckLocationSwitchState(reply);
LBSLOGI(NETWORK, "[NetworkAbilityTest] CheckLocationSwitchState001 end");
}
HWTEST_F(NetworkAbilityTest, InitNetworkMsgHandleMap001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, InitNetworkMsgHandleMap001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] InitNetworkMsgHandleMap001 begin");
MessageParcel reply;
ASSERT_TRUE(ability_ != nullptr);
ability_->InitNetworkMsgHandleMap();
ability_->InitNetworkMsgHandleMap();
LBSLOGI(NETWORK, "[NetworkAbilityTest] InitNetworkMsgHandleMap001 end");
}
HWTEST_F(NetworkAbilityTest, CheckCallingPermission001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, CheckCallingPermission001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] CheckCallingPermission001 begin");
MessageParcel data;
MessageParcel reply;
AppIdentity identity;
bool isMessageRequest = false;
ASSERT_TRUE(ability_ != nullptr);
ability_->SendLocationRequestInner(data, reply, identity, isMessageRequest);
ability_->SetMockLocationsInner(data, reply, identity, isMessageRequest);
ability_->SetEnableInner(data, reply, identity, isMessageRequest);
ability_->EnableMockInner(data, reply, identity, isMessageRequest);
ability_->DisableMockInner(data, reply, identity, isMessageRequest);
LBSLOGI(NETWORK, "[NetworkAbilityTest] CheckCallingPermission001 end");
}
HWTEST_F(NetworkAbilityTest, DisconnectAbilityConnect001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, DisconnectAbilityConnect001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] DisconnectAbilityConnect001 begin");
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
EXPECT_NE(nullptr, nlpServiceProxy);
ability_->nlpServiceProxy_ = nlpServiceProxy;
ability_->DisconnectAbilityConnect();
LBSLOGI(NETWORK, "[NetworkAbilityTest] DisconnectAbilityConnect001 end");
}
HWTEST_F(NetworkAbilityTest, NullHandler001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NullHandler001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NullHandler001 begin");
ASSERT_TRUE(ability_ != nullptr);
ability_->networkHandler_ = nullptr;
ability_->ResetServiceProxy();
ability_->SetEnable(1);
ability_->UnloadNetworkSystemAbility();
ability_->SendReportMockLocationEvent();
uint32_t code = 0;
MessageParcel data;
MessageParcel reply;
ability_->SendMessage(code, data, reply);
ability_->networkHandler_ =
std::make_shared<NetworkHandler>(AppExecFwk::EventRunner::Create(true, AppExecFwk::ThreadMode::FFRT));
LBSLOGI(NETWORK, "[NetworkAbilityTest] NullHandler001 end");
}
HWTEST_F(NetworkAbilityTest, NullNlpServer001, TestSize.Level1)
{
GTEST_LOG_(INFO)
<< "NetworkAbilityTest, NullNlpServer001, TestSize.Level1";
LBSLOGI(NETWORK, "[NetworkAbilityTest] NullNlpServer001 begin");
ASSERT_TRUE(ability_ != nullptr);
ability_->nlpServiceProxy_ = nullptr;
ability_->RegisterNlpServiceDeathRecipient();
ability_->UnregisterNlpServiceDeathRecipient();
sptr<MockIRemoteObject> nlpServiceProxy =
sptr<MockIRemoteObject>(new (std::nothrow) MockIRemoteObject());
ability_->nlpServiceProxy_ = nlpServiceProxy;
LBSLOGI(NETWORK, "[NetworkAbilityTest] NullNlpServer001 end");
}
}
}
#endif