* Copyright (c) 2022-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.
*/
#ifndef OHOS_DEVICE_MANAGER_IMPL_TEST_H
#define OHOS_DEVICE_MANAGER_IMPL_TEST_H
#include <gtest/gtest.h>
#include <refbase.h>
#include <memory>
#include <cstdint>
#include "mock/mock_ipc_client_proxy.h"
#include "device_manager.h"
#include "device_manager_callback.h"
#include "dm_single_instance.h"
#include "device_manager_impl.h"
#include "softbus_error_code.h"
#include "device_manager_notify_mock.h"
#include "device_manager_notify.h"
#include "dm_publish_info.h"
#include "dm_subscribe_info.h"
namespace OHOS {
namespace DistributedHardware {
class DeviceManagerImplTest : public testing::Test {
public:
static void SetUpTestCase();
static void TearDownTestCase();
void SetUp();
void TearDown();
static inline std::shared_ptr<DeviceManagerNotifyMock> deviceManagerNotifyMock_ =
std::make_shared<DeviceManagerNotifyMock>();
static inline std::shared_ptr<MockIpcClientProxy> ipcClientProxyMock_ = std::make_shared<MockIpcClientProxy>();
};
class DeviceDiscoveryCallbackTest : public DiscoveryCallback {
public:
DeviceDiscoveryCallbackTest() : DiscoveryCallback() {}
~DeviceDiscoveryCallbackTest() {}
void OnDiscoverySuccess(uint16_t subscribeId) override {}
void OnDiscoveryFailed(uint16_t subscribeId, int32_t failedReason) override {}
void OnDeviceFound(uint16_t subscribeId, const DmDeviceInfo &deviceInfo) override {}
void OnDeviceFound(uint16_t subscribeId, const DmDeviceBasicInfo &deviceBasicInfo) override{}
};
class DevicePublishCallbackTest : public PublishCallback {
public:
DevicePublishCallbackTest() : PublishCallback() {}
virtual ~DevicePublishCallbackTest() {}
void OnPublishResult(int32_t publishId, int32_t failedReason) override {}
};
class DmInitCallbackTest : public DmInitCallback {
public:
DmInitCallbackTest() : DmInitCallback() {}
virtual ~DmInitCallbackTest() {}
void OnRemoteDied() override {}
};
class DeviceStateCallbackTest : public DeviceStateCallback {
public:
DeviceStateCallbackTest() : DeviceStateCallback() {}
virtual ~DeviceStateCallbackTest() {}
void OnDeviceOnline(const DmDeviceInfo &deviceInfo) override {}
void OnDeviceReady(const DmDeviceInfo &deviceInfo) override {}
void OnDeviceOffline(const DmDeviceInfo &deviceInfo) override {}
void OnDeviceChanged(const DmDeviceInfo &deviceInfo) override {}
};
class DeviceManagerFaCallbackTest : public DeviceManagerUiCallback {
public:
DeviceManagerFaCallbackTest() : DeviceManagerUiCallback() {}
virtual ~DeviceManagerFaCallbackTest() {}
void OnCall(const std::string ¶mJson) override {}
};
class CredentialCallbackTest : public CredentialCallback {
public:
virtual ~CredentialCallbackTest() {}
void OnCredentialResult(int32_t &action, const std::string &credentialResult) override {}
};
class DeviceStatusCallbackTest : public DeviceStatusCallback {
public:
~DeviceStatusCallbackTest() {}
void OnDeviceOnline(const DmDeviceBasicInfo &deviceBasicInfo) override {}
void OnDeviceOffline(const DmDeviceBasicInfo &deviceBasicInfo) override {}
void OnDeviceChanged(const DmDeviceBasicInfo &deviceBasicInfo) override {}
void OnDeviceReady(const DmDeviceBasicInfo &deviceBasicInfo) override {}
};
class AuthenticateCallbackTest : public AuthenticateCallback {
public:
~AuthenticateCallbackTest()
{
}
void OnAuthResult(const std::string &deviceId, const std::string &token, int32_t status,
int32_t reason) override {}
};
class DeviceScreenStatusCallbackTest : public DeviceScreenStatusCallback {
public:
~DeviceScreenStatusCallbackTest()
{
}
void OnDeviceScreenStatus(const DmDeviceInfo &deviceInfo) override {}
};
class DevTrustChangeCallbackTest : public DevTrustChangeCallback {
public:
virtual ~DevTrustChangeCallbackTest()
{
}
void OnDeviceTrustChange(const std::string &udid, const std::string &uuid, DmAuthForm authForm) override {}
};
class CandidateRestrictStatusCallbackTest : public CredentialAuthStatusCallback {
public:
virtual ~CandidateRestrictStatusCallbackTest()
{
}
void OnCredentialAuthStatus(const std::string &deviceList, uint16_t deviceTypeId, int32_t errcode) override {}
};
class GetDeviceProfileInfoListCallbackTest : public GetDeviceProfileInfoListCallback {
public:
virtual ~GetDeviceProfileInfoListCallbackTest()
{
}
void OnResult(const std::vector<DmDeviceProfileInfo> &deviceProfileInfos, int32_t code) override {}
};
class GetDeviceIconInfoCallbackTest : public GetDeviceIconInfoCallback {
public:
virtual ~GetDeviceIconInfoCallbackTest()
{
}
void OnResult(const DmDeviceIconInfo &deviceIconInfo, int32_t code) override {}
};
class BindTargetCallbackTest : public BindTargetCallback {
public:
virtual ~BindTargetCallbackTest()
{
}
void OnBindResult(const PeerTargetId &targetId, int32_t result, int32_t status, std::string content) override {}
};
class ServiceDiscoveryCallbackTest : public ServiceDiscoveryCallback {
public:
ServiceDiscoveryCallbackTest() = default;
virtual ~ServiceDiscoveryCallbackTest() = default;
void OnServiceFound(const DmServiceInfo &service) override {}
void OnServiceDiscoveryResult(int32_t resReason) override {}
};
class ServiceInfoStateCallbackTest : public ServiceInfoStateCallback {
public:
void OnServiceOnline(const DmServiceInfo &serviceInfo) override {}
void OnServiceOffline(const DmServiceInfo &serviceInfo) override {}
void OnServiceInfoChange(const DmServiceInfo &serviceInfo) override {}
};
class SyncServiceInfoCallbackTest : public SyncServiceInfoCallback {
public:
void OnSyncServiceInfoResult(int32_t result, const std::string &content) override
{
if (count_ != nullptr) {
*count_ = *count_ + 1;
}
}
private:
int *count_ = nullptr;
};
class MockServicePublishCallback : public ServicePublishCallback {
public:
void OnPublishResult(int32_t result, const std::string &publishId) {}
};
class ServicePublishCallbackTest : public ServicePublishCallback {
public:
ServicePublishCallbackTest() = default;
virtual ~ServicePublishCallbackTest() = default;
void OnServicePublishResult(int64_t serviceId, int32_t reason) override {}
};
class LeaveLNNCallbackTest : public LeaveLNNCallback {
public:
virtual ~LeaveLNNCallbackTest()
{
}
void OnLeaveLNNCallback(const std::string &networkId, int32_t retCode) override {}
};
class AuthCodeInvalidCallbackTest : public AuthCodeInvalidCallback {
public:
virtual ~AuthCodeInvalidCallbackTest()
{
}
void OnAuthCodeInvalid() override {};
};
}
}
#endif