* Copyright (c) 2025 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.
*/
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "asset_recv_callback_mock.h"
#include "copy/ipc_wrapper.h"
#include "daemon_stub_mock.h"
#include "dfs_error.h"
#include "dfsu_access_token_helper.h"
#include "file_dfs_listener_mock.h"
#include "ipc/daemon_stub.h"
#include "ipc/distributed_file_daemon_ipc_interface_code.h"
#include "ipc/hmdfs_info.h"
#include "ipc_skeleton.h"
#include "message_parcel_mock.h"
#include "utils_log.h"
namespace {
bool g_getCallingUidTrue = true;
bool g_checkUriPermissionTrue = true;
bool g_checkCallerPermissionTrue = true;
bool g_isLocalCalling = true;
constexpr pid_t DATA_UID = 3012;
constexpr pid_t DAEMON_UID = 1009;
static pid_t UID = DAEMON_UID;
bool g_writeBatchUrisTrue = true;
int32_t g_readBatchUris = OHOS::FileManagement::E_OK;
}
namespace OHOS {
#ifdef CONFIG_IPC_SINGLE
using namespace IPC_SINGLE;
#endif
pid_t IPCSkeleton::GetCallingUid()
{
if (!g_getCallingUidTrue) {
return -1;
}
return UID;
}
bool IPCSkeleton::IsLocalCalling()
{
return g_isLocalCalling;
}
}
namespace OHOS::FileManagement {
bool DfsuAccessTokenHelper::CheckUriPermission(const std::string &uriStr)
{
return g_checkUriPermissionTrue;
}
bool DfsuAccessTokenHelper::CheckCallerPermission(const std::string &permissionName)
{
return g_checkCallerPermissionTrue;
}
}
namespace OHOS {
namespace Storage {
namespace DistributedFile {
bool IpcWrapper::WriteUriByRawData(MessageParcel &data, const std::vector<std::string> &uriVec)
{
return true;
}
bool IpcWrapper::GetData(void *&buffer, size_t size, const void *data)
{
return true;
}
bool IpcWrapper::ReadBatchUriByRawData(MessageParcel &data, std::vector<std::string> &uriVec)
{
return true;
}
bool IpcWrapper::WriteBatchUris(MessageParcel &data, const std::vector<std::string> &uriVec)
{
return g_writeBatchUrisTrue;
}
int32_t IpcWrapper::ReadBatchUris(MessageParcel &data, std::vector<std::string> &uriVec)
{
if (g_readBatchUris == FileManagement::E_OK) {
uriVec.emplace_back("key");
uriVec.emplace_back("uri");
uriVec.emplace_back("1");
}
return g_readBatchUris;
}
}
}
}
namespace OHOS::Storage::DistributedFile::Test {
using namespace testing;
using namespace testing::ext;
using namespace std;
using namespace OHOS::FileManagement;
namespace {
DistributedHardware::DmDeviceInfo deviceInfo = {
.deviceId = "testdevid",
.deviceName = "testdevname",
.networkId = "testnetworkid",
};
}
const std::string SRC_URI =
"file://docs/storage/Users/currentUser/"
"Documents?networkid=xxxxx";
const std::string DST_URI = "file://docs/storage/Users/currentUser/Documents";
const std::string SRC_DEVICE_ID = "testSrcDeviceId";
const sptr<IRemoteObject> LISTENER = sptr(new MockDaemonStub());
const std::string COPY_PATH = "tmpDir";
const std::string sessionName = "DistributedDevice0";
HmdfsInfo fileInfo = {
.copyPath = COPY_PATH,
.dirExistFlag = false,
.sessionName = sessionName,
};
class DaemonStubTest : public testing::Test {
public:
static void SetUpTestCase(void);
static void TearDownTestCase(void);
void SetUp();
void TearDown();
std::shared_ptr<MockDaemonStub> daemonStub_;
shared_ptr<MessageParcelMock> messageParcelMock_ = nullptr;
};
void DaemonStubTest::SetUpTestCase(void)
{
GTEST_LOG_(INFO) << "SetUpTestCase";
}
void DaemonStubTest::TearDownTestCase(void)
{
GTEST_LOG_(INFO) << "TearDownTestCase";
}
void DaemonStubTest::SetUp(void)
{
GTEST_LOG_(INFO) << "SetUp";
g_checkUriPermissionTrue = true;
UID = DATA_UID;
daemonStub_ = std::make_shared<MockDaemonStub>();
messageParcelMock_ = make_shared<MessageParcelMock>();
MessageParcelMock::messageParcel = messageParcelMock_;
}
void DaemonStubTest::TearDown(void)
{
GTEST_LOG_(INFO) << "TearDown";
daemonStub_ = nullptr;
messageParcelMock_ = nullptr;
MessageParcelMock::messageParcel = nullptr;
}
* @tc.name: DaemonStubOnRemoteRequestTest001
* @tc.desc: Verify the OnRemoteRequest function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubOnRemoteRequestTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubOnRemoteRequestTest001 Start";
uint32_t code = static_cast<uint32_t>(DistributedFileDaemonInterfaceCode::DISTRIBUTED_FILE_OPEN_P2P_CONNECTION);
MessageParcel data;
MessageParcel reply;
MessageOption option;
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(u"test"));
auto ret = daemonStub_->OnRemoteRequest(code, data, reply, option);
EXPECT_EQ(ret, MockDaemonStub::DFS_DAEMON_DESCRIPTOR_IS_EMPTY);
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(IDaemon::GetDescriptor()));
uint32_t errCode = 65535;
g_isLocalCalling = false;
ret = daemonStub_->OnRemoteRequest(errCode, data, reply, option);
EXPECT_EQ(ret, E_ALLOW_LOCAL_CALL_ONLY);
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(IDaemon::GetDescriptor()));
code = static_cast<uint32_t>(DistributedFileDaemonInterfaceCode::DISTRIBUTED_FILE_REQUEST_SEND_FILE);
ret = daemonStub_->OnRemoteRequest(code, data, reply, option);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(IDaemon::GetDescriptor()));
code = static_cast<uint32_t>(DistributedFileDaemonInterfaceCode::DISTRIBUTED_FILE_GET_REMOTE_COPY_INFO);
ret = daemonStub_->OnRemoteRequest(code, data, reply, option);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
g_isLocalCalling = true;
daemonStub_->opToInterfaceMap_.insert(make_pair(errCode, nullptr));
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(IDaemon::GetDescriptor()));
ret = daemonStub_->OnRemoteRequest(errCode, data, reply, option);
EXPECT_EQ(ret, 305);
daemonStub_->opToInterfaceMap_.erase(errCode);
GTEST_LOG_(INFO) << "DaemonStubOnRemoteRequestTest001 End";
}
* @tc.name: DaemonStubHandleConnectDfsTest001
* @tc.desc: Verify the HandleConnectDfs function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleConnectDfsTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleConnectDfsTest001 Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleConnectDfs(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
ret = daemonStub_->HandleConnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
ret = daemonStub_->HandleConnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
ret = daemonStub_->HandleConnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
ret = daemonStub_->HandleConnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
GTEST_LOG_(INFO) << "DaemonStubHandleConnectDfsTest001 End";
}
* @tc.name: DaemonStubHandleDisconnectDfsTest001
* @tc.desc: Verify the HandleDisconnectDfs function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleDisconnectDfsTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleDisconnectDfsTest001 Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleDisconnectDfs(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
ret = daemonStub_->HandleDisconnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
ret = daemonStub_->HandleDisconnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
ret = daemonStub_->HandleDisconnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
ret = daemonStub_->HandleDisconnectDfs(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
GTEST_LOG_(INFO) << "DaemonStubHandleDisconnectDfsTest001 End";
}
* @tc.name: DaemonStubHandleOpenP2PConnectionExTest001
* @tc.desc: Verify the DaemonStubHandleOpenP2PConnectionExTest001 function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleOpenP2PConnectionExTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleOpenP2PConnectionExTest001 Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleOpenP2PConnectionEx(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(nullptr));
EXPECT_CALL(*daemonStub_, OpenP2PConnectionEx(_, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleOpenP2PConnectionEx(data, reply);
EXPECT_EQ(ret, E_OK);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
sptr<IRemoteObject> listenerPtr = sptr(new FileDfsListenerMock());
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listenerPtr));
EXPECT_CALL(*daemonStub_, OpenP2PConnectionEx(_, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleOpenP2PConnectionEx(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleOpenP2PConnectionExTest001 End";
}
* @tc.name: DaemonStubHandleCloseP2PConnectionExTest001
* @tc.desc: Verify the HandleCloseP2PConnectionEx function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleCloseP2PConnectionExTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleCloseP2PConnectionExTest001 Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleCloseP2PConnectionEx(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, CloseP2PConnectionEx(_)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleCloseP2PConnectionEx(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleCloseP2PConnectionExTest001 End";
}
* @tc.name: DaemonStubHandlePrepareSessionTest001
* @tc.desc: Verify the HandlePrepareSession function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandlePrepareSessionTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandlePrepareSessionTest001 Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
g_checkUriPermissionTrue = false;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkUriPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true)).WillOnce(Return(false));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(nullptr));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
sptr<IRemoteObject> listenerPtr = sptr(new MockDaemonStub());
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listenerPtr));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
GTEST_LOG_(INFO) << "DaemonStubHandlePrepareSessionTest001 End";
}
* @tc.name: DaemonStubHandlePrepareSessionTest002
* @tc.desc: Verify the HandlePrepareSession function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandlePrepareSessionTest002, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandlePrepareSessionTest002 Start";
MessageParcel data;
MessageParcel reply;
g_checkUriPermissionTrue = true;
sptr<IRemoteObject> listenerPtr = sptr(new MockDaemonStub());
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listenerPtr));
EXPECT_CALL(*messageParcelMock_, ReadBool(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listenerPtr));
EXPECT_CALL(*messageParcelMock_, ReadBool(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, PrepareSession(_, _, _, _, _)).WillOnce(Return(E_INVAL_ARG));
EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(false));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listenerPtr));
EXPECT_CALL(*messageParcelMock_, ReadBool(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, PrepareSession(_, _, _, _, _)).WillOnce(Return(E_INVAL_ARG));
EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandlePrepareSession(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandlePrepareSessionTest002 End";
}
* @tc.name: DaemonStubHandleCancelCopyTaskTest001
* @tc.desc: Verify the HandleCancelCopyTask function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleCancelCopyTaskTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleCancelCopyTaskTest001 Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleCancelCopyTask(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, CancelCopyTask(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleCancelCopyTask(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleCancelCopyTaskTest001 End";
}
* @tc.name: DaemonStubHandleInnerCancelCopyTaskTest001
* @tc.desc: Verify the HandleInnerCancelCopyTask function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleInnerCancelCopyTaskTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleInnerCancelCopyTaskTest001 Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleInnerCancelCopyTask(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true)).WillOnce(Return(false));
ret = daemonStub_->HandleInnerCancelCopyTask(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, CancelCopyTask(_, _)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleInnerCancelCopyTask(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleInnerCancelCopyTaskTest001 End";
}
* @tc.name: DaemonStubHandleRequestSendFileTest001
* @tc.desc: Verify the HandleRequestSendFile function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleRequestSendFileTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleRequestSendFileTest001 Start";
UID = DAEMON_UID;
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleRequestSendFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true)).WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, RequestSendFile(_, _, _, _)).WillOnce(Return(E_INVAL_ARG));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleRequestSendFile(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandleRequestSendFileTest001 End";
}
* @tc.name: DaemonStubHandleRequestSendFileACLTest_0001
* @tc.desc: Verify the HandleRequestSendFileACL function (read failures)
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleRequestSendFileACLTest_0001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleRequestSendFileACLTest_0001 Start";
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true)).WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
GTEST_LOG_(INFO) << "DaemonStubHandleRequestSendFileACLTest_0001 End";
}
* @tc.name: DaemonStubHandleRequestSendFileACLTest_0002
* @tc.desc: Verify the HandleRequestSendFileACL function (success cases)
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleRequestSendFileACLTest_0002, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleRequestSendFileACLTest_0002 Start";
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
auto ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, RequestSendFileACL(_, _, _, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_OK);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, RequestSendFileACL(_, _, _, _, _)).WillOnce(Return(E_INVAL_ARG));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleRequestSendFileACL(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandleRequestSendFileACLTest_0002 End";
}
* @tc.name: DaemonStubHandleGetRemoteCopyInfoTest001
* @tc.desc: Verify the HandleGetRemoteCopyInfo function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetRemoteCopyInfoTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoTest001 Start";
UID = DAEMON_UID;
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfo(_, _, _)).WillOnce(Return(E_INVAL_ARG));
ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfo(_, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(false));
ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfo(_, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(false));
ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfo(_, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfo(_, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoTest001 End";
}
* @tc.name: DaemonStubHandleGetRemoteCopyInfoTest002
* @tc.desc: Verify the HandleGetRemoteCopyInfo function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetRemoteCopyInfoTest002, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoTest002 Start";
UID = DAEMON_UID;
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfo(_, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
auto ret = daemonStub_->HandleGetRemoteCopyInfo(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoTest002 End";
}
* @tc.name: DaemonStubHandleGetRemoteCopyInfoACLTest_0001
* @tc.desc: Verify the HandleGetRemoteCopyInfoACL function (read failures)
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetRemoteCopyInfoACLTest_0001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoACLTest_0001 Start";
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true)).WillOnce(Return(false));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(false));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoACLTest_0001 End";
}
* @tc.name: DaemonStubHandleGetRemoteCopyInfoACLTest_0002
* @tc.desc: Verify the HandleGetRemoteCopyInfoACL function (write and success cases)
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetRemoteCopyInfoACLTest_0002, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoACLTest_0002 Start";
MessageParcel data;
MessageParcel reply;
g_getCallingUidTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfoACL(_, _, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfoACL(_, _, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(false));
ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfoACL(_, _, _, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_OK);
EXPECT_CALL(*messageParcelMock_, ReadString(_))
.WillOnce(Return(true))
.WillOnce(Return(true))
.WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetRemoteCopyInfoACL(_, _, _, _)).WillOnce(Return(E_INVAL_ARG));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleGetRemoteCopyInfoACL(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandleGetRemoteCopyInfoACLTest_0002 End";
}
* @tc.name: DaemonStubHandlePushAssetTest001
* @tc.desc: Verify the HandlePushAsset function - UID permission denied
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandlePushAssetTest001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandlePushAssetTest001 Start";
MessageParcel data;
MessageParcel reply;
UID = DATA_UID + 1;
auto ret = daemonStub_->HandlePushAsset(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
UID = DATA_UID;
g_checkCallerPermissionTrue = false;
ret = daemonStub_->HandlePushAsset(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
GTEST_LOG_(INFO) << "DaemonStubHandlePushAssetTest001 End";
}
* @tc.name: DaemonStubHandlePushAssetTest002
* @tc.desc: Verify the HandlePushAsset function - ReadInt32 failures
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandlePushAssetTest002, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandlePushAssetTest002 Start";
MessageParcel data;
MessageParcel reply;
UID = DATA_UID;
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandlePushAsset(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandlePushAssetTest002 End";
}
* @tc.name: DaemonStubHandlePushAssetTest003
* @tc.desc: Verify the HandlePushAsset function - AssetObj read failures
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandlePushAssetTest003, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandlePushAssetTest003 Start";
MessageParcel data;
MessageParcel reply;
UID = DATA_UID;
g_checkCallerPermissionTrue = true;
ASSERT_NE(messageParcelMock_, nullptr) << "DaemonStubHandlePushAssetTest003 messageParcelMock_ is nullptr";
EXPECT_CALL(*messageParcelMock_, ReadInt32(_))
.WillOnce(DoAll(SetArgReferee<0>(-1), Return(true)));
auto ret = daemonStub_->HandlePushAsset(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
EXPECT_CALL(*messageParcelMock_, ReadInt32(_))
.WillOnce(DoAll(SetArgReferee<0>(100), Return(true)));
ret = daemonStub_->HandlePushAsset(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandlePushAssetTest003 End";
}
* @tc.name: DaemonStubHandleRegisterRecvCallback001
* @tc.desc: Verify the HandleRegisterRecvCallback function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleRegisterRecvCallback001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleRegisterRecvCallback001 Start";
UID = DATA_UID;
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(nullptr));
ret = daemonStub_->HandleRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
auto recvCallback = sptr(new IAssetRecvCallbackMock());
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(recvCallback));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, RegisterAssetCallback(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(recvCallback));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, RegisterAssetCallback(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleRegisterRecvCallback001 End";
}
* @tc.name: DaemonStubHandleUnRegisterRecvCallback001
* @tc.desc: Verify the HandleUnRegisterRecvCallback function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleUnRegisterRecvCallback001, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleUnRegisterRecvCallback001 Start";
UID = DATA_UID;
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleUnRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(nullptr));
ret = daemonStub_->HandleUnRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
auto recvCallback = sptr(new IAssetRecvCallbackMock());
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(recvCallback));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, UnRegisterAssetCallback(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleUnRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(recvCallback));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UnRegisterAssetCallback(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleUnRegisterRecvCallback(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleUnRegisterRecvCallback001 End";
}
* @tc.name: DaemonStubHandleGetDfsUrisDirFromLocalTest
* @tc.desc: Verify URI list read failure in HandleGetDfsUrisDirFromLocal
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetDfsUrisDirFromLocalTest, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetDfsUrisDirFromLocalTest Start";
MessageParcel data;
MessageParcel reply;
g_readBatchUris = E_IPC_READ_FAILED;
auto ret = daemonStub_->HandleGetDfsUrisDirFromLocal(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
g_readBatchUris = E_OK;
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleGetDfsUrisDirFromLocal(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
std::unordered_map<std::string, AppFileService::ModuleRemoteFileShare::HmdfsUriInfo> uriToDfsUriMaps;
uriToDfsUriMaps.emplace("key", AppFileService::ModuleRemoteFileShare::HmdfsUriInfo{"uri", 1});
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetDfsUrisDirFromLocal(_, _, _))
.WillOnce(DoAll(SetArgReferee<2>(uriToDfsUriMaps), Return(E_OK)));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleGetDfsUrisDirFromLocal(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetDfsUrisDirFromLocal(_, _, _))
.WillOnce(DoAll(SetArgReferee<2>(uriToDfsUriMaps), Return(E_IPC_WRITE_FAILED)));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleGetDfsUrisDirFromLocal(data, reply);
EXPECT_EQ(ret, E_OK);
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetDfsUrisDirFromLocal(_, _, _))
.WillOnce(DoAll(SetArgReferee<2>(uriToDfsUriMaps), Return(E_OK)));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
g_writeBatchUrisTrue = false;
ret = daemonStub_->HandleGetDfsUrisDirFromLocal(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetDfsUrisDirFromLocal(_, _, _))
.WillOnce(DoAll(SetArgReferee<2>(uriToDfsUriMaps), Return(E_OK)));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
g_writeBatchUrisTrue = true;
ret = daemonStub_->HandleGetDfsUrisDirFromLocal(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleGetDfsUrisDirFromLocalTest End";
}
* @tc.name: DaemonStubHandleUMountDisShareFileTest
* @tc.desc: Verify the HandleUMountDisShareFile function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleUMountDisShareFileTest, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleUMountDisShareFileTest Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
auto ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UMountDisShareFile(_, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UMountDisShareFile(_, _)).WillOnce(Return(E_OK));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleUMountDisShareFileTest End";
}
* @tc.name: DaemonStubHandleUMountDisShareFileTest_ErrorCode
* @tc.desc: Verify the HandleUMountDisShareFile function returns error codes
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleUMountDisShareFileTest_ErrorCode, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleUMountDisShareFileTest_ErrorCode Start";
MessageParcel data;
MessageParcel reply;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UMountDisShareFile(_, _)).WillOnce(Return(E_PERMISSION_DENIED));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
auto ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UMountDisShareFile(_, _)).WillOnce(Return(E_SA_LOAD_FAILED));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_SA_LOAD_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UMountDisShareFile(_, _)).WillOnce(Return(E_IPC_READ_FAILED));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UMountDisShareFile(_, _)).WillOnce(Return(E_INVAL_ARG));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
ret = daemonStub_->HandleUMountDisShareFile(data, reply);
EXPECT_EQ(ret, E_INVAL_ARG);
GTEST_LOG_(INFO) << "DaemonStubHandleUMountDisShareFileTest_ErrorCode End";
}
* @tc.name: DaemonStubHandleGetDfsSwitchStatus
* @tc.desc: Verify the HandleGetDfsSwitchStatus function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetDfsSwitchStatus, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetDfsSwitchStatus Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleGetDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
ret = daemonStub_->HandleGetDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, GetDfsSwitchStatus(_, _)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleGetDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, GetDfsSwitchStatus(_, _)).WillOnce(Return(E_INVAL_ARG));
ret = daemonStub_->HandleGetDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetDfsSwitchStatus(_, _)).WillOnce(Return(E_INVAL_ARG));
ret = daemonStub_->HandleGetDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleGetDfsSwitchStatus End";
}
* @tc.name: DaemonStubHandleUpdateDfsSwitchStatus
* @tc.desc: Verify the HandleUpdateDfsSwitchStatus function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleUpdateDfsSwitchStatus, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleUpdateDfsSwitchStatus Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleUpdateDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(false));
ret = daemonStub_->HandleUpdateDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, UpdateDfsSwitchStatus(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleUpdateDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UpdateDfsSwitchStatus(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleUpdateDfsSwitchStatus(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleUpdateDfsSwitchStatus End";
}
* @tc.name: DaemonStubHandleGetConnectedDeviceList
* @tc.desc: Verify the HandleGetConnectedDeviceList function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleGetConnectedDeviceList, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleGetConnectedDeviceList Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleGetConnectedDeviceList(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, GetConnectedDeviceList(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleGetConnectedDeviceList(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, GetConnectedDeviceList(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleGetConnectedDeviceList(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
DfsDeviceInfo testDevice;
testDevice.networkId_ = "networkId";
testDevice.path_ = "test_path";
std::vector<DfsDeviceInfo> deviceList = {testDevice};
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, GetConnectedDeviceList(_)).WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(E_OK)));
ret = daemonStub_->HandleGetConnectedDeviceList(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, GetConnectedDeviceList(_)).WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(E_OK)));
ret = daemonStub_->HandleGetConnectedDeviceList(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteString(_)).WillOnce(Return(true)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, GetConnectedDeviceList(_)).WillOnce(DoAll(SetArgReferee<0>(deviceList), Return(E_OK)));
ret = daemonStub_->HandleGetConnectedDeviceList(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleGetConnectedDeviceList End";
}
* @tc.name: DaemonStubHandleRegisterFileDfsListener
* @tc.desc: Verify the HandleRegisterFileDfsListener function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleRegisterFileDfsListener, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleRegisterFileDfsListener Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleRegisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
ret = daemonStub_->HandleRegisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(nullptr));
ret = daemonStub_->HandleRegisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
auto listener = sptr(new FileDfsListenerMock());
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return("instanceId"));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listener));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, RegisterFileDfsListener(_, _)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleRegisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return("instanceId"));
EXPECT_CALL(*messageParcelMock_, ReadRemoteObject()).WillOnce(Return(listener));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, RegisterFileDfsListener(_, _)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleRegisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleRegisterFileDfsListener End";
}
* @tc.name: DaemonStubHandleUnregisterFileDfsListener
* @tc.desc: Verify the HandleUnregisterFileDfsListener function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleUnregisterFileDfsListener, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleUnregisterFileDfsListener Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleUnregisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
ret = daemonStub_->HandleUnregisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, UnregisterFileDfsListener(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleUnregisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, UnregisterFileDfsListener(_)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleUnregisterFileDfsListener(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleUnregisterFileDfsListener End";
}
* @tc.name: DaemonStubHandleIsSameAccountDevice
* @tc.desc: Verify the HandleIsSameAccountDevice function
* @tc.type: FUNC
* @tc.require: I7M6L1
*/
HWTEST_F(DaemonStubTest, DaemonStubHandleIsSameAccountDevice, TestSize.Level0)
{
GTEST_LOG_(INFO) << "DaemonStubHandleIsSameAccountDevice Start";
MessageParcel data;
MessageParcel reply;
g_checkCallerPermissionTrue = false;
auto ret = daemonStub_->HandleIsSameAccountDevice(data, reply);
EXPECT_EQ(ret, E_PERMISSION_DENIED);
g_checkCallerPermissionTrue = true;
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(false));
ret = daemonStub_->HandleIsSameAccountDevice(data, reply);
EXPECT_EQ(ret, E_IPC_READ_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, IsSameAccountDevice(_, _)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleIsSameAccountDevice(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(false));
EXPECT_CALL(*daemonStub_, IsSameAccountDevice(_, _)).WillOnce(Return(E_OK));
ret = daemonStub_->HandleIsSameAccountDevice(data, reply);
EXPECT_EQ(ret, E_IPC_WRITE_FAILED);
EXPECT_CALL(*messageParcelMock_, ReadString(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteInt32(_)).WillOnce(Return(true));
EXPECT_CALL(*messageParcelMock_, WriteBool(_)).WillOnce(Return(true));
EXPECT_CALL(*daemonStub_, IsSameAccountDevice(_, _)).WillOnce(DoAll(SetArgReferee<1>(true), Return(E_OK)));
ret = daemonStub_->HandleIsSameAccountDevice(data, reply);
EXPECT_EQ(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubHandleIsSameAccountDevice End";
}
* @tc.name: DaemonStubTest_OnRemoteRequest_001
* @tc.desc: Verify OnRemoteRequest with invalid interface token
* @tc.type: FUNC
* @tc.require:
*/
HWTEST_F(DaemonStubTest, DaemonStubTest_OnRemoteRequest_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "DaemonStubTest_OnRemoteRequest_001 start";
MessageParcel data;
MessageParcel reply;
MessageOption option;
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(u"invalid_token"));
auto ret = daemonStub_->OnRemoteRequest(1, data, reply, option);
EXPECT_EQ(ret, MockDaemonStub::DFS_DAEMON_DESCRIPTOR_IS_EMPTY);
GTEST_LOG_(INFO) << "DaemonStubTest_OnRemoteRequest_001 end";
}
* @tc.name: DaemonStubTest_OnRemoteRequest_002
* @tc.desc: Verify OnRemoteRequest with remote call not allowed
* @tc.type: FUNC
* @tc.require:
*/
HWTEST_F(DaemonStubTest, DaemonStubTest_OnRemoteRequest_002, TestSize.Level1)
{
GTEST_LOG_(INFO) << "DaemonStubTest_OnRemoteRequest_002 start";
g_isLocalCalling = false;
MessageParcel data;
MessageParcel reply;
MessageOption option;
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(IDaemon::GetDescriptor()));
auto ret = daemonStub_->OnRemoteRequest(999, data, reply, option);
EXPECT_EQ(ret, E_ALLOW_LOCAL_CALL_ONLY);
g_isLocalCalling = true;
GTEST_LOG_(INFO) << "DaemonStubTest_OnRemoteRequest_002 end";
}
* @tc.name: DaemonStubTest_OnRemoteRequest_003
* @tc.desc: Verify OnRemoteRequest with unknown transaction
* @tc.type: FUNC
* @tc.require:
*/
HWTEST_F(DaemonStubTest, DaemonStubTest_OnRemoteRequest_003, TestSize.Level1)
{
GTEST_LOG_(INFO) << "DaemonStubTest_OnRemoteRequest_003 start";
MessageParcel data;
MessageParcel reply;
MessageOption option;
EXPECT_CALL(*messageParcelMock_, ReadInterfaceToken()).WillOnce(Return(IDaemon::GetDescriptor()));
auto ret = daemonStub_->OnRemoteRequest(999, data, reply, option);
EXPECT_NE(ret, E_OK);
GTEST_LOG_(INFO) << "DaemonStubTest_OnRemoteRequest_003 end";
}
* @tc.name: DaemonStubTest_InitDFileFunction_001
* @tc.desc: Verify InitDFileFunction
* @tc.type: FUNC
* @tc.require:
*/
HWTEST_F(DaemonStubTest, DaemonStubTest_InitDFileFunction_001, TestSize.Level1)
{
GTEST_LOG_(INFO) << "DaemonStubTest_InitDFileFunction_001 start";
EXPECT_NO_FATAL_FAILURE(daemonStub_->InitDFileFunction());
GTEST_LOG_(INFO) << "DaemonStubTest_InitDFileFunction_001 end";
}
}