diff --git a/tests/core/bus_center/lnn/BUILD.gn b/tests/core/bus_center/lnn/BUILD.gn index 38c24a4bfd35cfdd5816ee23a93f30d0f6308778..9ffa030be049cf96a785f8fce25e983ecdf01753 100644 --- a/tests/core/bus_center/lnn/BUILD.gn +++ b/tests/core/bus_center/lnn/BUILD.gn @@ -154,16 +154,95 @@ ohos_unittest("LNNNetBuilderTest") { } } +ohos_unittest("LNNNetBuilderMockTest") { + module_out_path = module_output_path + sources = [ + "$dsoftbus_root_path/tests/core/bus_center/mock_common/src/lnn_trans_mock.cpp", + "net_builder/src/lnn_net_builder_deps_mock.cpp", + "net_builder/src/lnn_net_builder_mock_test.cpp", + ] + + include_dirs = [ + "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/lane_manager/include", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/include", + "$dsoftbus_root_path/core/bus_center/lnn/net_buscenter/include", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/sync_info/include", + "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/distributed_ledger/include", + "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/local_ledger/include", + "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/common/include", + "$dsoftbus_root_path/core/bus_center/monitor/include", + "$dsoftbus_root_path/core/common/include", + "$dsoftbus_root_path/adapter/common/include", + "$dsoftbus_root_path/core/connection/interface", + "$dsoftbus_root_path/core/authentication/interface", + "$dsoftbus_root_path/core/bus_center/interface", + "$dsoftbus_root_path/core/bus_center/utils/include", + "$dsoftbus_root_path/interfaces/kits/bus_center", + "$dsoftbus_root_path/interfaces/kits/common", + "$dsoftbus_root_path/core/adapter/bus_center/include", + "//commonlibrary/c_utils/base/include", + "//third_party/cJSON", + "unittest/common/", + "$dsoftbus_root_path/core/connection/manager", + "$dsoftbus_root_path/adapter/common/bus_center/include/", + "$dsoftbus_root_path/core/discovery/manager/include", + "$dsoftbus_root_path/core/discovery/interface", + "$dsoftbus_root_path/interfaces/kits/discovery", + "$dsoftbus_root_path/core/bus_center/service/include", + "$dsoftbus_root_path/tests/core/bus_center/lnn/net_builder/include", + "$dsoftbus_root_path/tests/core/bus_center/mock_common/include", + "$dsoftbus_root_path/core/transmission/interface", + "$dsoftbus_root_path/core/bus_center/lnn/disc_mgr/include", + "$dsoftbus_root_path/core/bus_center/lnn/lane_hub/heartbeat/include", + "$dsoftbus_root_path/core/connection/p2p/interface", + "$dsoftbus_root_path/core/connection/p2p/common/include", + "$dsoftbus_root_path/core/connection/p2p/manager/include", + ] + + deps = [ + "$dsoftbus_root_path/adapter:softbus_adapter", + "$dsoftbus_root_path/core/common:softbus_utils", + "$dsoftbus_root_path/core/frame:softbus_server", + "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog", + "//base/security/device_auth/services:deviceauth_sdk", + "//third_party/googletest:gmock", + "//third_party/googletest:gtest_main", + ] + + if (is_standard_system) { + external_deps = [ + "c_utils:utils", + "hiviewdfx_hilog_native:libhilog", + ] + } else { + external_deps = [ + "c_utils:utils", + "hilog:libhilog", + ] + } +} + ohos_unittest("LNNTestMock") { module_out_path = module_output_path sources = [ + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_connection_fsm.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_devicename_info.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_net_builder.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_network_info.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_node_weight.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_p2p_info.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_sync_info_manager.c", + "$dsoftbus_root_path/core/bus_center/lnn/net_builder/src/lnn_topo_manager.c", + "$dsoftbus_root_path/core/bus_center/utils/src/lnn_async_callback_utils.c", + "$dsoftbus_root_path/core/bus_center/utils/src/lnn_connection_addr_utils.c", "$dsoftbus_root_path/core/bus_center/utils/src/lnn_state_machine.c", + "$dsoftbus_root_path/tests/core/bus_center/mock_common/src/lnn_connection_mock.cpp", "$dsoftbus_root_path/tests/core/bus_center/mock_common/src/lnn_trans_mock.cpp", "net_builder/src/lnn_auth_mock.cpp", "net_builder/src/lnn_connection_fsm_test.cpp", "net_builder/src/lnn_devicename_info_test.cpp", "net_builder/src/lnn_net_builder_deps_mock.cpp", - "net_builder/src/lnn_net_builder_mock_test.cpp", "net_builder/src/lnn_net_ledger_mock.cpp", "net_builder/src/lnn_network_info_test.cpp", "net_builder/src/lnn_node_weight_test.cpp", @@ -208,12 +287,16 @@ ohos_unittest("LNNTestMock") { "$dsoftbus_root_path/tests/core/bus_center/lnn/net_builder/include", "$dsoftbus_root_path/tests/core/bus_center/mock_common/include", "$dsoftbus_root_path/core/transmission/interface", + "$dsoftbus_root_path/core/bus_center/lnn/net_ledger/decision_db/include", + "$dsoftbus_root_path/core/common/dfx/hisysevent_adapter/include", + "$dsoftbus_root_path/adapter/common/net/wifi/include", + "$dsoftbus_root_path/core/transmission/trans_channel/manager/include", + "$dsoftbus_root_path/core/bus_center/utils/include", ] deps = [ "$dsoftbus_root_path/adapter:softbus_adapter", "$dsoftbus_root_path/core/common:softbus_utils", - "$dsoftbus_root_path/core/frame:softbus_server", "//base/hiviewdfx/hilog/interfaces/native/innerkits:libhilog", "//base/security/device_auth/services:deviceauth_sdk", "//third_party/googletest:gmock", @@ -527,6 +610,7 @@ group("unittest") { ":LNNLaneTestMock", ":LNNLedgerTest", ":LNNLedgerTestMock", + ":LNNNetBuilderMockTest", ":LNNNetBuilderTest", ":LNNTest", ":LNNTestMock", diff --git a/tests/core/bus_center/lnn/net_builder/include/lnn_auth_mock.h b/tests/core/bus_center/lnn/net_builder/include/lnn_auth_mock.h index 1105e44e035001b6dc3b2407930acb85b14a732d..e2b83a7d826a5dc8cffb57b0132a67343ab8773e 100644 --- a/tests/core/bus_center/lnn/net_builder/include/lnn_auth_mock.h +++ b/tests/core/bus_center/lnn/net_builder/include/lnn_auth_mock.h @@ -28,6 +28,7 @@ public: virtual ~LnnAuthInterface() {}; virtual int32_t AuthStartVerify(const AuthConnInfo *connInfo, uint32_t requestId, const AuthVerifyCallback *callback) = 0; + virtual int32_t AuthGetVersion(int64_t authId, SoftBusVersion *version) = 0; }; class LnnAuthtInterfaceMock : public LnnAuthInterface { @@ -35,6 +36,7 @@ public: LnnAuthtInterfaceMock(); ~LnnAuthtInterfaceMock() override; MOCK_METHOD3(AuthStartVerify, int32_t (const AuthConnInfo *, uint32_t, const AuthVerifyCallback *)); + MOCK_METHOD2(AuthGetVersion, int32_t (int64_t, SoftBusVersion *)); }; } // namespace OHOS #endif // LNN_AUTH_MOCK_H \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/include/lnn_net_builder_deps_mock.h b/tests/core/bus_center/lnn/net_builder/include/lnn_net_builder_deps_mock.h index 18dcea6eafdb5dc08999103229e7ec3a21e26047..0daabb55ec9d15b8de44fafcc838f7be18b6c53f 100644 --- a/tests/core/bus_center/lnn/net_builder/include/lnn_net_builder_deps_mock.h +++ b/tests/core/bus_center/lnn/net_builder/include/lnn_net_builder_deps_mock.h @@ -39,6 +39,7 @@ public: virtual int32_t AuthMetaStartVerify(uint32_t connectionId, const uint8_t *key, uint32_t keyLen, uint32_t requestId, const AuthVerifyCallback *callBack) = 0; virtual uint32_t AuthGenRequestId(void) = 0; + virtual void AuthHandleLeaveLNN(int64_t authId) = 0; }; class NetBuilderDepsInterfaceMock : public NetBuilderDepsInterface { public: @@ -51,6 +52,8 @@ public: MOCK_METHOD5(AuthMetaStartVerify, int32_t (uint32_t, const uint8_t *, uint32_t, uint32_t, const AuthVerifyCallback *)); MOCK_METHOD0(AuthGenRequestId, uint32_t ()); + MOCK_METHOD1(AuthHandleLeaveLNN, void (int64_t)); + static int32_t ActionOfLnnGetSettingDeviceName(char *deviceName, uint32_t len); }; } // namespace OHOS #endif // LNN_NET_BUILDER_DEPS_MOCK_H \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/include/lnn_net_ledger_mock.h b/tests/core/bus_center/lnn/net_builder/include/lnn_net_ledger_mock.h index 2e38388834c5defd5253e8f2b9d2cf490a4ed145..fdedc00752b3f0d4808b239c81b0192b4b7d14d6 100644 --- a/tests/core/bus_center/lnn/net_builder/include/lnn_net_ledger_mock.h +++ b/tests/core/bus_center/lnn/net_builder/include/lnn_net_ledger_mock.h @@ -59,6 +59,17 @@ public: virtual int32_t LnnGetAllOnlineAndMetaNodeInfo(NodeBasicInfo **info, int32_t *infoNum) = 0; virtual int32_t LnnGetAllOnlineNodeInfo(NodeBasicInfo **info, int32_t *infoNum) = 0; virtual NodeInfo *LnnGetNodeInfoById(const char *id, IdCategory type) = 0; + virtual int32_t LnnGetLnnRelation(const char *id, IdCategory type, uint8_t *relation, uint32_t len) = 0; + virtual int32_t LnnSetDLConnCapability(const char *networkId, uint64_t connCapability) = 0; + virtual bool LnnHasDiscoveryType(const NodeInfo *info, DiscoveryType type) = 0; + virtual bool LnnIsNodeOnline(const NodeInfo *info) = 0; + virtual short LnnGetCnnCode(const char *uuid, DiscoveryType type) = 0; + virtual ReportCategory LnnAddOnlineNode(NodeInfo *info) = 0; + virtual int32_t LnnGetBasicInfoByUdid(const char *udid, NodeBasicInfo *basicInfo) = 0; + virtual int32_t LnnInsertSpecificTrustedDevInfo(const char *udid) = 0; + virtual const char *LnnGetDeviceUdid(const NodeInfo *info) = 0; + virtual ReportCategory LnnSetNodeOffline(const char *udid, ConnectionAddrType type, int32_t authId) = 0; + virtual void LnnRemoveNode(const char *udid) = 0; }; class LnnNetLedgertInterfaceMock : public LnnNetLedgerInterface { public: @@ -88,13 +99,30 @@ public: MOCK_METHOD2(LnnSetP2pMac, int32_t (NodeInfo *, const char *)); MOCK_METHOD2(LnnSetP2pGoMac, int32_t (NodeInfo *, const char *)); MOCK_METHOD2(LnnGetAllOnlineAndMetaNodeInfo, int32_t (NodeBasicInfo **, int32_t *)); - MOCK_METHOD2(LnnGetAllOnlineNodeInfo, int32_t (NodeBasicInfo **info, int32_t *infoNum)); - MOCK_METHOD2(LnnGetNodeInfoById, NodeInfo *(const char *id, IdCategory type)); + MOCK_METHOD2(LnnGetAllOnlineNodeInfo, int32_t (NodeBasicInfo **, int32_t *)); + MOCK_METHOD2(LnnGetNodeInfoById, NodeInfo *(const char *, IdCategory)); + MOCK_METHOD4(LnnGetLnnRelation, int32_t(const char *, IdCategory, uint8_t *, uint32_t)); + MOCK_METHOD2(LnnSetDLConnCapability, int32_t (const char *, uint64_t)); + MOCK_METHOD2(LnnHasDiscoveryType, bool (const NodeInfo *, DiscoveryType)); + MOCK_METHOD1(LnnIsNodeOnline, bool (const NodeInfo *)); + MOCK_METHOD2(LnnGetCnnCode, short (const char *, DiscoveryType)); + MOCK_METHOD1(LnnAddOnlineNode, ReportCategory (NodeInfo *)); + MOCK_METHOD2(LnnGetBasicInfoByUdid, int32_t (const char *, NodeBasicInfo *)); + MOCK_METHOD1(LnnInsertSpecificTrustedDevInfo, int32_t (const char *)); + MOCK_METHOD1(LnnInsertSpecificTrustedDevInfo, char * (const NodeInfo *)); + MOCK_METHOD3(LnnSetNodeOffline, ReportCategory (const char *, ConnectionAddrType, int32_t)); + MOCK_METHOD1(LnnRemoveNode, void (const char *)); + MOCK_METHOD1(LnnGetDeviceUdid, const char *(const NodeInfo *)); static int32_t ActionOfLnnGetAllOnline(NodeBasicInfo **info, int32_t *infoNum); static int32_t ActionOfLnnConvertDlId(const char *srcId, IdCategory srcIdType, IdCategory dstIdType, char *dstIdBuf, uint32_t dstIdBufLen); + static int32_t ActionOfLnnConvertDlId1(const char *srcId, IdCategory srcIdType, IdCategory dstIdType, + char *dstIdBuf, uint32_t dstIdBufLen); static inline std::map g_lnnevent_handlers; static int32_t ActionOfLnnGetAllOnlineNodeInfo(NodeBasicInfo **info, int32_t *infoNum); + static int32_t ActionOfLnnGetLnnRelation(const char *id, IdCategory type, + uint8_t *relation, uint32_t len); + static int32_t ActionOfLnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len); }; } // namespace OHOS #endif // LNN_NET_LEDGER_MOCK_H \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/include/lnn_service_mock.h b/tests/core/bus_center/lnn/net_builder/include/lnn_service_mock.h index 04dd66cb9c49d540827c4727d5c41bd61c3c072e..fae9ac6560dbc422941e7ad2e44000b008203432 100644 --- a/tests/core/bus_center/lnn/net_builder/include/lnn_service_mock.h +++ b/tests/core/bus_center/lnn/net_builder/include/lnn_service_mock.h @@ -23,6 +23,7 @@ #include "bus_center_event.h" #include "softbus_common.h" #include "softbus_bus_center.h" +#include "lnn_settingdata_event_monitor.h" namespace OHOS { class LnnServiceInterface { @@ -43,6 +44,10 @@ public: uint8_t relation, bool isJoin) = 0; virtual void LnnNotifyMasterNodeChanged(bool isMaster, const char* masterNodeUdid, int32_t weight) = 0; + virtual int32_t LnnInitGetDeviceName(LnnDeviceNameHandler handler) = 0; + virtual void RegisterNameMonitor(void) = 0; + virtual void LnnUnregisterEventHandler(LnnEventType event, LnnEventHandler handler) = 0; + virtual int32_t LnnOfflineTimingByHeartbeat(const char *networkId, ConnectionAddrType addrType) = 0; }; class LnnServicetInterfaceMock : public LnnServiceInterface { @@ -60,8 +65,14 @@ public: MOCK_METHOD1(LnnNotifyBtStateChangeEvent, void (void *)); MOCK_METHOD4(LnnNotifyLnnRelationChanged, void (const char *, ConnectionAddrType, uint8_t, bool)); MOCK_METHOD3(LnnNotifyMasterNodeChanged, void (bool, const char*, int32_t)); + MOCK_METHOD1(LnnInitGetDeviceName, int32_t (LnnDeviceNameHandler)); + MOCK_METHOD0(RegisterNameMonitor, void (void)); + MOCK_METHOD2(LnnUnregisterEventHandler, void (LnnEventType, LnnEventHandler)); + MOCK_METHOD2(LnnOfflineTimingByHeartbeat, int32_t (const char *, ConnectionAddrType)); static int32_t ActionOfLnnRegisterEventHandler(LnnEventType event, LnnEventHandler handler); + static int32_t ActionOfLnnInitGetDeviceName(LnnDeviceNameHandler handler); static inline std::map g_lnnEventHandlers; + static inline LnnDeviceNameHandler g_deviceNameHandler; }; } // namespace OHOS #endif // LNN_SERVICE_MOCK_H \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_auth_mock.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_auth_mock.cpp index 38e9010061f388ae6087886113ed137b59bfc64c..ade54a1d168b40d533c61d8b37be4b6b0e8a326c 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_auth_mock.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_auth_mock.cpp @@ -41,5 +41,10 @@ int32_t AuthStartVerify(const AuthConnInfo *connInfo, uint32_t requestId, { return GetAuthInterface()->AuthStartVerify(connInfo, requestId, callback); } + +int32_t AuthGetVersion(int64_t authId, SoftBusVersion *version) +{ + return GetAuthInterface()->AuthGetVersion(authId, version); +} } } \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_connection_fsm_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_connection_fsm_test.cpp index bfc56657487e485ca7895a6a017c2f1ce6af7254..f674ce8d7b6ad9c4c46a180d9fc129d93c17beea 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_connection_fsm_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_connection_fsm_test.cpp @@ -16,16 +16,16 @@ #include #include +#include "lnn_auth_mock.h" #include "lnn_connection_fsm.h" +#include "lnn_net_builder.h" +#include "lnn_net_builder_deps_mock.h" +#include "lnn_service_mock.h" #include "message_handler.h" #include "softbus_adapter_mem.h" #include "softbus_common.h" #include "softbus_errcode.h" #include "softbus_log.h" -#include "lnn_net_builder_deps_mock.h" -#include "lnn_auth_mock.h" -#include "lnn_net_builder.h" -#include "lnn_service_mock.h" constexpr char IP[IP_STR_MAX_LEN] = "127.0.0.1"; constexpr uint16_t PORT = 1000; @@ -127,18 +127,14 @@ HWTEST_F(LnnConnectionFsmTest, LNN_SEND_JOIN_REQUEST_TO_CONNFSM_TEST_001, TestSi { int32_t ret = LnnStartConnectionFsm(connFsm2); EXPECT_TRUE(ret == SOFTBUS_OK); - - LnnAuthtInterfaceMock authMock; - NetBuilderDepsInterfaceMock netBuilderMock; - LnnServicetInterfaceMock serviceMock; - ON_CALL(netBuilderMock, AuthGenRequestId()).WillByDefault(Return(1)); - EXPECT_CALL(authMock, AuthStartVerify(_, _, _)) - .WillOnce(Return(SOFTBUS_OK)) - .WillRepeatedly(Return(SOFTBUS_ERR)); - ON_CALL(serviceMock, LnnNotifyJoinResult(_, _, _)).WillByDefault(Return()); + NiceMock authMock; + NiceMock netBuilderMock; + NiceMock serviceMock; + ON_CALL(netBuilderMock, AuthGenRequestId).WillByDefault(Return(1)); + EXPECT_CALL(authMock, AuthStartVerify).WillOnce(Return(SOFTBUS_OK)).WillRepeatedly(Return(SOFTBUS_ERR)); + ON_CALL(serviceMock, LnnNotifyJoinResult).WillByDefault(Return()); ret = LnnSendJoinRequestToConnFsm(connFsm2); EXPECT_TRUE(ret == SOFTBUS_OK); SoftBusSleepMs(1000); } - } // namespace OHOS diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_devicename_info_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_devicename_info_test.cpp index 3b385b8b36567f837fe90dc366ee9abcfc34b302..ca125832adc289674a302cd4a4d2a7141d7a27c7 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_devicename_info_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_devicename_info_test.cpp @@ -16,15 +16,18 @@ #include #include +#include "bus_center_info_key.h" +#include "lnn_connection_mock.h" #include "lnn_devicename_info.h" #include "lnn_net_builder_deps_mock.h" +#include "lnn_node_info.h" +#include "lnn_net_ledger_mock.h" #include "lnn_p2p_info.h" +#include "lnn_service_mock.h" +#include "lnn_settingdata_event_monitor.h" #include "message_handler.h" #include "softbus_common.h" #include "softbus_errcode.h" -#include "bus_center_info_key.h" -#include "lnn_net_ledger_mock.h" -#include "lnn_node_info.h" NodeInfo *info = {0}; constexpr char *DEVICE_NAME1 = nullptr; @@ -68,15 +71,23 @@ HWTEST_F(LnnDeviceNameInfoTest, LNN_UPDATE_DEVICE_NAME_TEST_001, TestSize.Level1 { NiceMock netbuilderMock; NiceMock ledgerMock; - char name[DEVICE_NAME_BUF_LEN] = {0}; + NiceMock serviceMock; + NiceMock connMock; LooperInit(); - EXPECT_CALL(netbuilderMock, LnnGetSettingDeviceName(_, _)).WillRepeatedly(Return(SOFTBUS_OK)); - EXPECT_CALL(ledgerMock, LnnSetLocalStrInfo(STRING_KEY_DEV_NAME, name)).WillRepeatedly(Return(SOFTBUS_OK)); - EXPECT_CALL(ledgerMock, LnnGetAllOnlineAndMetaNodeInfo(_, _)).WillRepeatedly(Return(SOFTBUS_OK)); - EXPECT_CALL(ledgerMock, LnnGetLocalNodeInfo()).WillRepeatedly(Return(info)); - EXPECT_CALL(ledgerMock, LnnGetDeviceName(_)).WillRepeatedly(Return(DEVICE_NAME1)); - EXPECT_CALL(ledgerMock, LnnGetDeviceName(_)).WillRepeatedly(Return(DEVICE_NAME2)); + EXPECT_CALL(netbuilderMock, LnnGetSettingDeviceName).WillRepeatedly( + NetBuilderDepsInterfaceMock::ActionOfLnnGetSettingDeviceName); + EXPECT_CALL(ledgerMock, LnnSetLocalStrInfo).WillRepeatedly(Return(SOFTBUS_OK)); + EXPECT_CALL(ledgerMock, LnnGetAllOnlineAndMetaNodeInfo).WillRepeatedly(Return(SOFTBUS_OK)); + EXPECT_CALL(ledgerMock, LnnGetLocalNodeInfo).WillRepeatedly(Return(info)); + EXPECT_CALL(ledgerMock, LnnGetDeviceName).WillRepeatedly(Return(DEVICE_NAME1)); + EXPECT_CALL(ledgerMock, LnnGetDeviceName).WillRepeatedly(Return(DEVICE_NAME2)); + EXPECT_CALL(serviceMock, LnnInitGetDeviceName).WillRepeatedly( + LnnServicetInterfaceMock::ActionOfLnnInitGetDeviceName); + EXPECT_CALL(serviceMock, RegisterNameMonitor).WillRepeatedly(Return()); + EXPECT_CALL(connMock, DiscDeviceInfoChanged).WillRepeatedly(Return()); UpdateDeviceName(nullptr); + LnnDeviceNameHandler HandlerGetDeviceName = LnnServicetInterfaceMock::g_deviceNameHandler; + HandlerGetDeviceName(); LooperDeinit(); } @@ -89,6 +100,9 @@ HWTEST_F(LnnDeviceNameInfoTest, LNN_UPDATE_DEVICE_NAME_TEST_001, TestSize.Level1 HWTEST_F(LnnDeviceNameInfoTest, LNN_UPDATE_DEVICE_NAME_TEST_002, TestSize.Level1) { NiceMock netbuilderMock; + NiceMock serviceMock; + EXPECT_CALL(serviceMock, LnnInitGetDeviceName).WillRepeatedly( + LnnServicetInterfaceMock::ActionOfLnnInitGetDeviceName); EXPECT_CALL(netbuilderMock, LnnGetSettingDeviceName(_, _)).WillRepeatedly(Return(SOFTBUS_ERR)); UpdateDeviceName(nullptr); } diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_deps_mock.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_deps_mock.cpp index 765e1a05b98d45238ed435faab97e0e09eb539e8..62c598c79496087c011fbf5f30ffdf19e853c8b1 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_deps_mock.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_deps_mock.cpp @@ -13,7 +13,13 @@ * limitations under the License. */ +#include +#include + #include "lnn_net_builder_deps_mock.h" +#include "softbus_adapter_mem.h" +#include "softbus_errcode.h" +#include "softbus_log.h" using namespace testing; using namespace testing::ext; @@ -66,5 +72,23 @@ uint32_t AuthGenRequestId(void) { return GetNetBuilderDepsInterface()->AuthGenRequestId(); } + +void AuthHandleLeaveLNN(int64_t authId) +{ + return GetNetBuilderDepsInterface()->AuthHandleLeaveLNN(authId); +} + +int32_t NetBuilderDepsInterfaceMock::ActionOfLnnGetSettingDeviceName(char *deviceName, uint32_t len) +{ + if (deviceName == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para"); + return SOFTBUS_ERR; + } + if (memcpy_s(deviceName, len, "abc", strlen("abc") + 1) != EOK) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "memcpy info fail"); + return SOFTBUS_ERR; + } + return SOFTBUS_OK; +} } } \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_mock_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_mock_test.cpp index b8ce6b497f0cae1609145447033b8a84be0b0c9f..acb3235fdf383e10d6deadb9036ba7bbeaf5c08a 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_mock_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_mock_test.cpp @@ -27,11 +27,6 @@ #include "softbus_common.h" #include "softbus_errcode.h" #include "softbus_log.h" -#include "lnn_net_ledger_mock.h" -#include "lnn_trans_mock.h" -#include "lnn_service_mock.h" - -constexpr int32_t REQUESTID = 0; namespace OHOS { using namespace testing::ext; @@ -47,12 +42,6 @@ public: void LnnNetBuilderMockTest::SetUpTestCase() { LooperInit(); - NiceMock transMock; - NiceMock serviceMock; - EXPECT_CALL(transMock, TransRegisterNetworkingChannelListener).WillRepeatedly( - DoAll(LnnTransInterfaceMock::ActionOfTransRegister, Return(SOFTBUS_OK))); - ON_CALL(serviceMock, LnnRegisterEventHandler(_, _)).WillByDefault( - LnnServicetInterfaceMock::ActionOfLnnRegisterEventHandler); int32_t ret = LnnInitNetBuilder(); EXPECT_TRUE(ret == SOFTBUS_OK); } @@ -146,7 +135,6 @@ HWTEST_F(LnnNetBuilderMockTest, LNN_LEAVE_META_NODE_TEST_001, TestSize.Level1) MetaJoinRequestNode *node = TryJoinRequestMetaNode(&addr, true); EXPECT_TRUE(node != nullptr); char *networkId = (char *)SoftBusCalloc(10); - ASSERT_TRUE(networkId != nullptr); networkId[0] = 'x'; ret = ProcessLeaveMetaNodeRequest(networkId); EXPECT_TRUE(ret != SOFTBUS_OK); @@ -160,19 +148,14 @@ HWTEST_F(LnnNetBuilderMockTest, LNN_LEAVE_META_NODE_TEST_001, TestSize.Level1) */ HWTEST_F(LnnNetBuilderMockTest, LNN_LEAVE_META_TO_LEDGER_TEST_001, TestSize.Level1) { - LnnNetLedgertInterfaceMock netLedgerMock; - NetBuilderDepsInterfaceMock netBuilderMock; - NodeInfo info; - EXPECT_CALL(netLedgerMock, LnnGetNodeInfoById(_,_)).WillRepeatedly(Return(nullptr)); + NetBuilderDepsInterfaceMock netLedgerMock; MetaJoinRequestNode metaInfo; LeaveMetaInfoToLedger(&metaInfo, nullptr); - EXPECT_CALL(netLedgerMock, LnnGetNodeInfoById(_,_)).WillRepeatedly(Return(&info)); - EXPECT_CALL(netBuilderMock, LnnDeleteMetaInfo(_,_)).WillRepeatedly(Return(SOFTBUS_OK)); + EXPECT_CALL(netLedgerMock, LnnDeleteMetaInfo(_,_)).WillRepeatedly(Return(SOFTBUS_OK)); LeaveMetaInfoToLedger(&metaInfo, nullptr); - EXPECT_CALL(netLedgerMock, LnnGetNodeInfoById(_,_)).WillRepeatedly(Return(&info)); - EXPECT_CALL(netBuilderMock, LnnDeleteMetaInfo(_,_)).WillRepeatedly(Return(SOFTBUS_ERR)); + EXPECT_CALL(netLedgerMock, LnnDeleteMetaInfo(_,_)).WillRepeatedly(Return(SOFTBUS_ERR)); LeaveMetaInfoToLedger(&metaInfo, nullptr); } @@ -197,8 +180,6 @@ HWTEST_F(LnnNetBuilderMockTest, LNN_JOIN_META_NODE_TEST_001, TestSize.Level1) (void)memcpy_s(addr.info.br.brMac, BT_MAC_LEN, "11:22:33:44:55:66", BT_MAC_LEN); MetaJoinRequestNode *node = TryJoinRequestMetaNode(&addr, true); EXPECT_TRUE(node != nullptr); - addrKey = (ConnectionAddrKey *)SoftBusCalloc(sizeof(ConnectionAddrKey)); - ASSERT_TRUE(addrKey != nullptr); addrKey->addr.type = CONNECTION_ADDR_BR; (void)memcpy_s(addrKey->addr.info.br.brMac, BT_MAC_LEN, "11:22:33:44:55:66", BT_MAC_LEN); ret = TrySendJoinMetaNodeRequest(addrKey, true); @@ -218,13 +199,14 @@ HWTEST_F(LnnNetBuilderMockTest, LNN_JOIN_META_NODE_TEST_002, TestSize.Level1) EXPECT_TRUE(ret != SOFTBUS_OK); CustomData customData; metaJoinNode.addr.type = CONNECTION_ADDR_SESSION; - NiceMock mock; + NetBuilderDepsInterfaceMock mock; EXPECT_CALL(mock, TransGetConnByChanId(_,_,_)).WillRepeatedly(Return(SOFTBUS_OK)); - EXPECT_CALL(mock, AuthGenRequestId).WillRepeatedly(Return(REQUESTID)); EXPECT_CALL(mock, AuthMetaStartVerify(_,_,_,_,_)).WillRepeatedly(Return(SOFTBUS_OK)); ret = PostJoinRequestToMetaNode(&metaJoinNode, nullptr, &customData, true); - EXPECT_TRUE(ret == SOFTBUS_OK); + EXPECT_TRUE(ret == SOFTBUS_ERR); + + EXPECT_CALL(mock, TransGetConnByChanId(_,_,_)).WillRepeatedly(Return(SOFTBUS_OK)); + EXPECT_CALL(mock, AuthMetaStartVerify(_,_,_,_,_)).WillRepeatedly(Return(SOFTBUS_OK)); ret = PostJoinRequestToMetaNode(&metaJoinNode, nullptr, &customData, false); - EXPECT_TRUE(ret == SOFTBUS_OK); } } // namespace OHOS diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_test.cpp index cf95750b068392e8996515b1dd98070a5e8ed971..34e01227cd7edebe327e9be42648c4d611a6def6 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_net_builder_test.cpp @@ -16,14 +16,14 @@ #include #include -#include "lnn_net_builder.h" +#include "bus_center_event.h" +#include "bus_center_manager.h" #include "lnn_local_net_ledger.h" +#include "lnn_net_builder.h" #include "message_handler.h" #include "softbus_common.h" #include "softbus_errcode.h" #include "softbus_log.h" -#include "bus_center_event.h" -#include "bus_center_manager.h" constexpr char NETWORKID[] = "ABCDEFG"; constexpr char OLD_NETWORKID[] = "ABCDEFG"; diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_net_ledger_mock.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_net_ledger_mock.cpp index a6e48d784a12173b16c44e8deb8d47135e2b0334..cada10135b2fbb7b037149fa753201a9c77b9131 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_net_ledger_mock.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_net_ledger_mock.cpp @@ -12,14 +12,20 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +#include #include + #include "lnn_net_ledger_mock.h" +#include "softbus_adapter_mem.h" #include "softbus_errcode.h" #include "softbus_log.h" -#include "softbus_adapter_mem.h" + using namespace testing; using namespace testing::ext; +#define LNN_RELATION_JOIN_THREAD 1 + namespace OHOS { void *g_netLedgerinterface; @@ -151,13 +157,87 @@ NodeInfo *LnnGetNodeInfoById(const char *id, IdCategory type) return GetNetLedgerInterface()->LnnGetNodeInfoById(id, type); } +int32_t LnnGetLnnRelation(const char *id, IdCategory type, uint8_t *relation, uint32_t len) +{ + return GetNetLedgerInterface()->LnnGetLnnRelation(id, type, relation, len); +} + +int32_t LnnSetDLConnCapability(const char *networkId, uint64_t connCapability) +{ + return GetNetLedgerInterface()->LnnSetDLConnCapability(networkId, connCapability); +} + +bool LnnHasDiscoveryType(const NodeInfo *info, DiscoveryType type) +{ + return GetNetLedgerInterface()->LnnHasDiscoveryType(info, type); +} + +int32_t LnnSetLocalStrInfo(InfoKey key, const char *info) +{ + return GetNetLedgerInterface()->LnnSetLocalStrInfo(key, info); +} + +int32_t LnnSetLocalNumInfo(InfoKey key, int32_t info) +{ + return GetNetLedgerInterface()->LnnSetLocalNumInfo(key, info); +} + +bool LnnSetDLP2pInfo(const char *networkId, const P2pInfo *info) +{ + return GetNetLedgerInterface()->LnnSetDLP2pInfo(networkId, info); +} + +bool LnnIsNodeOnline(const NodeInfo *info) +{ + return GetNetLedgerInterface()->LnnIsNodeOnline(info); +} + +short LnnGetCnnCode(const char *uuid, DiscoveryType type) +{ + return GetNetLedgerInterface()->LnnGetCnnCode(uuid, type); +} + +ReportCategory LnnAddOnlineNode(NodeInfo *info) +{ + return GetNetLedgerInterface()->LnnAddOnlineNode(info); +} + +int32_t LnnGetBasicInfoByUdid(const char *udid, NodeBasicInfo *basicInfo) +{ + return GetNetLedgerInterface()->LnnGetBasicInfoByUdid(udid, basicInfo); +} + +int32_t LnnInsertSpecificTrustedDevInfo(const char *udid) +{ + return GetNetLedgerInterface()->LnnInsertSpecificTrustedDevInfo(udid); +} + +ReportCategory LnnSetNodeOffline(const char *udid, ConnectionAddrType type, int32_t authId) +{ + return GetNetLedgerInterface()->LnnSetNodeOffline(udid, type, authId); +} + +void LnnRemoveNode(const char *udid) +{ + return GetNetLedgerInterface()->LnnRemoveNode(udid); +} + +const char *LnnGetDeviceUdid(const NodeInfo *info) +{ + return GetNetLedgerInterface()->LnnGetDeviceUdid(info); +} + int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetAllOnline(NodeBasicInfo **info, int32_t *infoNum) { + if (info == NULL || infoNum == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para"); + return SOFTBUS_ERR; + } *infoNum = 1; *info = (NodeBasicInfo *)SoftBusMalloc((*infoNum) * sizeof(NodeBasicInfo)); - if (info == nullptr) { - SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "ActionOfLnnGetAllOnline malloc failed!"); - return SOFTBUS_MALLOC_ERR; + if (*info == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "malloc info fail"); + return SOFTBUS_ERR; } if (memcpy_s((*info)->networkId, sizeof((*info)->networkId), "abc", strlen("abc") + 1) != EOK) { SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "memcpy networkId fail"); @@ -169,6 +249,10 @@ int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetAllOnline(NodeBasicInfo **info int32_t LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId(const char *srcId, IdCategory srcIdType, IdCategory dstIdType, char *dstIdBuf, uint32_t dstIdBufLen) { + if (srcId == NULL || dstIdBuf == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para"); + return SOFTBUS_ERR; + } if (memcpy_s(dstIdBuf, dstIdBufLen, "abc", strlen("abc") + 1) != EOK) { SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "memcpy dstIdBuf fail"); return SOFTBUS_ERR; @@ -176,13 +260,31 @@ int32_t LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId(const char *srcId, Id return SOFTBUS_OK; } +int32_t LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId1(const char *srcId, IdCategory srcIdType, + IdCategory dstIdType, char *dstIdBuf, uint32_t dstIdBufLen) +{ + if (srcId == NULL || dstIdBuf == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para"); + return SOFTBUS_ERR; + } + if (strcpy_s(dstIdBuf, dstIdBufLen, "abdef") != EOK) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "memcpy dstIdBuf fail"); + return SOFTBUS_ERR; + } + return SOFTBUS_OK; +} + int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetAllOnlineNodeInfo(NodeBasicInfo **info, int32_t *infoNum) { + if (info == NULL || infoNum == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para"); + return SOFTBUS_ERR; + } *infoNum = 1; *info = (NodeBasicInfo *)SoftBusMalloc((*infoNum) * sizeof(NodeBasicInfo)); - if (info == nullptr) { - SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "ActionOfLnnGetAllOnlineNodeInfo malloc failed!"); - return SOFTBUS_MALLOC_ERR; + if (*info == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "malloc info fail"); + return SOFTBUS_ERR; } if (memcpy_s((*info)->networkId, sizeof((*info)->networkId), "abc", strlen("abc") + 1) != EOK) { SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "memcpy networkId fail"); @@ -190,5 +292,29 @@ int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetAllOnlineNodeInfo(NodeBasicInf } return SOFTBUS_OK; } + +int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetLnnRelation(const char *id, IdCategory type, + uint8_t *relation, uint32_t len) +{ + if (CONNECTION_ADDR_BR >= len) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "set relation fail"); + return SOFTBUS_ERR; + } + relation[CONNECTION_ADDR_BR] = LNN_RELATION_JOIN_THREAD; + return SOFTBUS_OK; +} + +int32_t LnnNetLedgertInterfaceMock::ActionOfLnnGetLocalStrInfo(InfoKey key, char *info, uint32_t len) +{ + if (info == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "invalid para"); + return SOFTBUS_ERR; + } + if (memcpy_s(info, len, "abc", strlen("abc") + 1) != EOK) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "memcpy info fail"); + return SOFTBUS_ERR; + } + return SOFTBUS_OK; +} } } \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_network_info_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_network_info_test.cpp index ddd9da01b95a986ea5b10d1174ae687b426aa8d7..bc2651c9ec7b88f1e84e70d6fed27d44ddf0c3f0 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_network_info_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_network_info_test.cpp @@ -29,6 +29,7 @@ #include "softbus_bus_center.h" #include "softbus_errcode.h" #include "softbus_log.h" +#include "softbus_common.h" static NodeInfo info; namespace OHOS { @@ -36,9 +37,8 @@ using namespace testing::ext; using namespace testing; constexpr int32_t CHANNELID = 2; -constexpr int32_t MSG = 6; constexpr uint32_t LEN = 10; -constexpr char UUID[65] = "abc"; +constexpr char UUID[SHA_256_HEX_HASH_LEN] = "abc"; class LnnNetworkInfoTest : public testing::Test { public: @@ -52,8 +52,10 @@ void LnnNetworkInfoTest::SetUpTestCase() { LooperInit(); NiceMock transMock; + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "ActionOfTransRegister enter1"); EXPECT_CALL(transMock, TransRegisterNetworkingChannelListener(NotNull())).WillRepeatedly( - DoAll(LnnTransInterfaceMock::ActionOfTransRegister, Return(SOFTBUS_OK))); + LnnTransInterfaceMock::ActionOfTransRegister); + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "ActionOfTransRegister enter2"); EXPECT_EQ(LnnInitSyncInfoManager(), SOFTBUS_OK); } @@ -71,7 +73,7 @@ void LnnNetworkInfoTest::TearDown() { } -bool GetEventHandler(LnnEventType event, LnnEventHandler &handler) +static bool GetEventHandler(LnnEventType event, LnnEventHandler &handler) { if (LnnServicetInterfaceMock::g_lnnEventHandlers.find(event) != LnnServicetInterfaceMock::g_lnnEventHandlers.end()) { @@ -126,8 +128,8 @@ HWTEST_F(LnnNetworkInfoTest, LNN_BT_STATE_EVENT_HANDLER_TEST_001, TestSize.Level EXPECT_EQ(LnnInitNetworkInfo(), SOFTBUS_ERR); handler((LnnEventBasicInfo *)&btEvent1); - char msg[65] = {0}; - *(int32_t *)msg = MSG; + char msg[LEN] = {0}; + *(int32_t *)msg = LNN_INFO_TYPE_CAPABILITY; if (memcpy_s(msg + sizeof(int32_t), LEN - sizeof(int32_t), "abc", strlen("abc") + 1) != EOK) { SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "copy sync info msg fail"); } diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_p2p_info_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_p2p_info_test.cpp index 24d0eba2a271e3f1db272665fa9a5205077bc230..f780a40bce05e6f46ec529601a124fe8c6577b0f 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_p2p_info_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_p2p_info_test.cpp @@ -18,22 +18,22 @@ #include "bus_center_event.h" #include "bus_center_manager.h" +#include "cJSON.h" +#include "common_list.h" #include "lnn_net_builder.h" +#include "lnn_net_ledger_mock.h" #include "lnn_node_info.h" -#include "message_handler.h" -#include "softbus_common.h" -#include "softbus_errcode.h" -#include "cJSON.h" #include "lnn_p2p_info.h" #include "lnn_service_mock.h" -#include "lnn_net_ledger_mock.h" #include "lnn_sync_info_manager.h" -#include "common_list.h" -#include "softbus_adapter_thread.h" -#include "softbus_adapter_mem.h" -#include "softbus_log.h" #include "lnn_trans_mock.h" +#include "softbus_adapter_mem.h" +#include "softbus_adapter_thread.h" +#include "softbus_common.h" +#include "softbus_errcode.h" +#include "message_handler.h" #include "softbus_json_utils.h" +#include "softbus_log.h" #define JSON_KEY_P2P_ROLE "P2P_ROLE" #define JSON_KEY_P2P_MAC "P2P_MAC" diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_service_mock.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_service_mock.cpp index dcd14b4465f86da9309acd2505093aab1ef94a9f..2a427e22a2b735f0a6bbdcc799006c8210e1c876 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_service_mock.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_service_mock.cpp @@ -15,6 +15,7 @@ #include "lnn_service_mock.h" #include "softbus_error_code.h" + using namespace testing; using namespace testing::ext; @@ -92,6 +93,26 @@ void LnnNotifyMasterNodeChanged(bool isMaster, const char* masterNodeUdid, int32 return GetServiceInterface()->LnnNotifyMasterNodeChanged(isMaster, masterNodeUdid, weight); } +int32_t LnnInitGetDeviceName(LnnDeviceNameHandler handler) +{ + return GetServiceInterface()->LnnInitGetDeviceName(handler); +} + +void RegisterNameMonitor(void) +{ + return GetServiceInterface()->RegisterNameMonitor(); +} + +void LnnUnregisterEventHandler(LnnEventType event, LnnEventHandler handler) +{ + return GetServiceInterface()->LnnUnregisterEventHandler(event, handler); +} + +int32_t LnnOfflineTimingByHeartbeat(const char *networkId, ConnectionAddrType addrType) +{ + return GetServiceInterface()->LnnOfflineTimingByHeartbeat(networkId, addrType); +} + int32_t LnnServicetInterfaceMock::ActionOfLnnRegisterEventHandler(LnnEventType event, LnnEventHandler handler) { if (event == LNN_EVENT_TYPE_MAX || handler == NULL) { @@ -100,5 +121,14 @@ int32_t LnnServicetInterfaceMock::ActionOfLnnRegisterEventHandler(LnnEventType e g_lnnEventHandlers.emplace(event, handler); return SOFTBUS_OK; } + +int32_t LnnServicetInterfaceMock::ActionOfLnnInitGetDeviceName(LnnDeviceNameHandler handler) +{ + if (handler == NULL) { + return SOFTBUS_INVALID_PARAM; + } + g_deviceNameHandler = handler; + return SOFTBUS_OK; +} } } \ No newline at end of file diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_sync_info_manager_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_sync_info_manager_test.cpp index 9c411b61bb54a5cca0ba1020a46c5dcae23173ce..17ee07f69255bd7b00801ef7e6c49ecb1f47d3e0 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_sync_info_manager_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_sync_info_manager_test.cpp @@ -17,10 +17,10 @@ #include #include "lnn_sync_info_manager.h" -#include "softbus_errcode.h" -#include "softbus_log.h" #include "lnn_trans_mock.h" #include "message_handler.h" +#include "softbus_errcode.h" +#include "softbus_log.h" namespace OHOS { using namespace testing; diff --git a/tests/core/bus_center/lnn/net_builder/src/lnn_topo_manager_test.cpp b/tests/core/bus_center/lnn/net_builder/src/lnn_topo_manager_test.cpp index b856956769464a2576cd26c44f434bc00a5cba88..d20a1b1ab120c515a1bce01c531582c7d21809b8 100644 --- a/tests/core/bus_center/lnn/net_builder/src/lnn_topo_manager_test.cpp +++ b/tests/core/bus_center/lnn/net_builder/src/lnn_topo_manager_test.cpp @@ -16,12 +16,20 @@ #include #include +#include "bus_center_event.h" +#include "lnn_net_ledger_mock.h" +#include "lnn_sync_info_manager.h" +#include "lnn_service_mock.h" #include "lnn_topo_manager.h" +#include "lnn_trans_mock.h" +#include "message_handler.h" #include "softbus_adapter_mem.h" +#include "softbus_common.h" #include "softbus_errcode.h" #include "softbus_log.h" -#include "lnn_service_mock.h" +#define LNN_RELATION_JOIN_THREAD 1 +#define LNN_RELATION_ERROR 0 namespace OHOS { using namespace testing::ext; using namespace testing; @@ -30,6 +38,8 @@ constexpr char UDID[] = "123456789"; constexpr char PEER1_UDID[] = "123456789"; constexpr uint32_t LEN = CONNECTION_ADDR_MAX + 1; constexpr uint32_t LEN2 = CONNECTION_ADDR_MAX; +constexpr uint32_t LEN3 = 8; +constexpr int32_t CHANNELID = 0; class LnnTopoManagerTest : public testing::Test { public: @@ -41,15 +51,12 @@ public: void LnnTopoManagerTest::SetUpTestCase() { - NiceMock serviceMock; - ON_CALL(serviceMock, LnnRegisterEventHandler(_, _)).WillByDefault( - LnnServicetInterfaceMock::ActionOfLnnRegisterEventHandler); - LnnInitTopoManager(); + LooperInit(); } void LnnTopoManagerTest::TearDownTestCase() { - LnnDeinitTopoManager(); + LooperDeinit(); } void LnnTopoManagerTest::SetUp() @@ -60,13 +67,41 @@ void LnnTopoManagerTest::TearDown() { } +static bool GetEventHandler(LnnEventType event, LnnEventHandler &handler) +{ + if (LnnServicetInterfaceMock::g_lnnEventHandlers.find(event) != + LnnServicetInterfaceMock::g_lnnEventHandlers.end()) { + handler = LnnServicetInterfaceMock::g_lnnEventHandlers[event]; + return true; + } + return false; +} + +void InitMock(LnnTransInterfaceMock &transMock, LnnServicetInterfaceMock &serviceMock) +{ + EXPECT_CALL(transMock, TransRegisterNetworkingChannelListener).WillRepeatedly( + LnnTransInterfaceMock::ActionOfTransRegister); + LnnInitSyncInfoManager(); + ON_CALL(serviceMock, LnnRegisterEventHandler).WillByDefault( + LnnServicetInterfaceMock::ActionOfLnnRegisterEventHandler); + int ret = LnnInitTopoManager(); + EXPECT_TRUE(ret == SOFTBUS_OK); +} + +void DeinitMock(LnnTransInterfaceMock &transMock, LnnServicetInterfaceMock &serviceMock) +{ + ON_CALL(serviceMock, LnnUnregisterEventHandler).WillByDefault(Return()); + LnnDeinitTopoManager(); + LnnDeinitSyncInfoManager(); +} + /* * @tc.name: LNN_GET_RELATION_TEST_001 * @tc.desc: len is not CONNECTION_ADDR_MAX return SOFTBUS_INVALID_PARAM * @tc.type: FUNC * @tc.require: I5OMIK */ -HWTEST_F(LnnTopoManagerTest, LNN_GET_RELATION_TEST_001, TestSize.Level0) +HWTEST_F(LnnTopoManagerTest, LNN_GET_RELATION_TEST_001, TestSize.Level1) { uint8_t num = 0; int ret = LnnGetRelation(UDID, PEER1_UDID, &num, LEN); @@ -79,11 +114,16 @@ HWTEST_F(LnnTopoManagerTest, LNN_GET_RELATION_TEST_001, TestSize.Level0) * @tc.type: FUNC * @tc.require: I5OMIK */ -HWTEST_F(LnnTopoManagerTest, LNN_GET_RELATION_TEST_002, TestSize.Level0) +HWTEST_F(LnnTopoManagerTest, LNN_GET_RELATION_TEST_002, TestSize.Level1) { + NiceMock serviceMock; + NiceMock ledgerMock; + NiceMock transMock; + InitMock(transMock, serviceMock); uint8_t num = 0; int ret = LnnGetRelation(UDID, PEER1_UDID, &num, LEN2); EXPECT_TRUE(ret == SOFTBUS_NOT_FIND); + DeinitMock(transMock, serviceMock); } /* @@ -92,7 +132,7 @@ HWTEST_F(LnnTopoManagerTest, LNN_GET_RELATION_TEST_002, TestSize.Level0) * @tc.type: FUNC * @tc.require: I5OMIK */ -HWTEST_F(LnnTopoManagerTest, LNN_GET_ALL_RELATION_TEST_001, TestSize.Level0) +HWTEST_F(LnnTopoManagerTest, LNN_GET_ALL_RELATION_TEST_001, TestSize.Level1) { uint32_t *relationNum = nullptr; LnnRelation *relation = nullptr; @@ -106,8 +146,12 @@ HWTEST_F(LnnTopoManagerTest, LNN_GET_ALL_RELATION_TEST_001, TestSize.Level0) * @tc.type: FUNC * @tc.require: I5OMIK */ -HWTEST_F(LnnTopoManagerTest, LNN_GET_ALL_RELATION_TEST_002, TestSize.Level0) +HWTEST_F(LnnTopoManagerTest, LNN_GET_ALL_RELATION_TEST_002, TestSize.Level1) { + NiceMock serviceMock; + NiceMock ledgerMock; + NiceMock transMock; + InitMock(transMock, serviceMock); uint32_t num = 0; LnnRelation *relation = nullptr; int ret = LnnGetAllRelation(&relation, &num); @@ -116,5 +160,116 @@ HWTEST_F(LnnTopoManagerTest, LNN_GET_ALL_RELATION_TEST_002, TestSize.Level0) ret = LnnGetAllRelation(&relation, &num); SoftBusFree(relation); EXPECT_TRUE(ret == SOFTBUS_OK); + DeinitMock(transMock, serviceMock); +} + +/* +* @tc.name: LNN_INIT_TOPO_MANAGER_TEST_001 +* @tc.desc: test LnnInitTopoManage +* @tc.type: FUNC +* @tc.require: I5OMIK +*/ +HWTEST_F(LnnTopoManagerTest, LNN_INIT_TOPO_MANAGER_TEST_001, TestSize.Level1) +{ + NiceMock serviceMock; + EXPECT_CALL(serviceMock, LnnRegisterEventHandler(_, _)).WillRepeatedly(Return(SOFTBUS_ERR)); + int ret = LnnInitTopoManager(); + EXPECT_TRUE(ret = SOFTBUS_ERR); +} + +/* +* @tc.name: LNN_INIT_TOPO_MANAGER_TEST_002 +* @tc.desc: test LnnInitTopoManage +* @tc.type: FUNC +* @tc.require: I5OMIK +*/ +HWTEST_F(LnnTopoManagerTest, LNN_INIT_TOPO_MANAGER_TEST_002, TestSize.Level1) +{ + NiceMock serviceMock; + NiceMock ledgerMock; + NiceMock transMock; + InitMock(transMock, serviceMock); + + LnnEventHandler handler; + bool isGet = GetEventHandler(LNN_EVENT_RELATION_CHANGED, handler); + ASSERT_TRUE(isGet == true); + + LnnRelationChanedEventInfo eventInfo = { + .basic.event = LNN_EVENT_RELATION_CHANGED, + .type = CONNECTION_ADDR_BR, + .relation = LNN_RELATION_JOIN_THREAD, + .isJoin = true, + .udid = nullptr, + }; + handler(nullptr); + handler((const LnnEventBasicInfo *)&eventInfo); + eventInfo.udid = UDID; + + EXPECT_CALL(ledgerMock, LnnGetLnnRelation).WillOnce(Return(SOFTBUS_INVALID_PARAM)); + handler((const LnnEventBasicInfo *)&eventInfo); + SoftBusSleepMs(5500); + + EXPECT_CALL(ledgerMock, LnnGetLnnRelation).WillRepeatedly(LnnNetLedgertInterfaceMock::ActionOfLnnGetLnnRelation); + eventInfo.relation = LNN_RELATION_ERROR; + handler((const LnnEventBasicInfo *)&eventInfo); + SoftBusSleepMs(5500); +} + +/* +* @tc.name: LNN_INIT_TOPO_MANAGER_TEST_003 +* @tc.desc: test LnnInitTopoManage +* @tc.type: FUNC +* @tc.require: I5OMIK +*/ +HWTEST_F(LnnTopoManagerTest, LNN_INIT_TOPO_MANAGER_TEST_003, TestSize.Level1) +{ + NiceMock serviceMock; + NiceMock ledgerMock; + NiceMock transMock; + InitMock(transMock, serviceMock); + LnnEventHandler handler; + bool isGet = GetEventHandler(LNN_EVENT_RELATION_CHANGED, handler); + ASSERT_TRUE(isGet == true); + LnnRelationChanedEventInfo eventInfo = { + .basic.event = LNN_EVENT_RELATION_CHANGED, + .type = CONNECTION_ADDR_BR, + .relation = LNN_RELATION_JOIN_THREAD, + .isJoin = true, + .udid = UDID, + }; + EXPECT_CALL(ledgerMock, LnnGetLnnRelation).WillRepeatedly(LnnNetLedgertInterfaceMock::ActionOfLnnGetLnnRelation); + EXPECT_CALL(ledgerMock, LnnGetLocalStrInfo).WillOnce(Return(SOFTBUS_ERR)).WillRepeatedly( + LnnNetLedgertInterfaceMock::ActionOfLnnGetLocalStrInfo); + handler((const LnnEventBasicInfo *)&eventInfo); + SoftBusSleepMs(5500); + + EXPECT_CALL(ledgerMock, LnnConvertDlId).WillOnce(LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId). + WillRepeatedly(LnnNetLedgertInterfaceMock::ActionOfLnnConvertDlId1); + EXPECT_CALL(ledgerMock, LnnGetAllOnlineNodeInfo).WillOnce(Return(SOFTBUS_OK)); + handler((const LnnEventBasicInfo *)&eventInfo); + SoftBusSleepMs(5500); +} + +/* +* @tc.name: LNN_INIT_TOPO_MANAGER_TEST_004 +* @tc.desc: test LnnInitTopoManage +* @tc.type: FUNC +* @tc.require: I5OMIK +*/ +HWTEST_F(LnnTopoManagerTest, LNN_INIT_TOPO_MANAGER_TEST_004, TestSize.Level1) +{ + NiceMock serviceMock; + NiceMock ledgerMock; + NiceMock transMock; + InitMock(transMock, serviceMock); + char msg[LEN3] = {0}; + *(int32_t *)msg = LNN_INFO_TYPE_TOPO_UPDATE; + if (memcpy_s(msg + sizeof(int32_t), LEN3 - sizeof(int32_t), "abc", strlen("abc") + 1) != EOK) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "copy sync info msg fail"); + } + LnnTransInterfaceMock::g_networkListener->onChannelOpened(CHANNELID, UDID, true); + LnnTransInterfaceMock::g_networkListener->onMessageReceived(CHANNELID, msg, LEN3); + DeinitMock(transMock, serviceMock); + SoftBusSleepMs(20); } } // namespace OHOS diff --git a/tests/core/bus_center/mock_common/include/lnn_connection_mock.h b/tests/core/bus_center/mock_common/include/lnn_connection_mock.h index f52469fb7d7110121a7127f22f15ef1ec71fe50d..de2e86715ce9896910da84d1251e6f533e489a39 100644 --- a/tests/core/bus_center/mock_common/include/lnn_connection_mock.h +++ b/tests/core/bus_center/mock_common/include/lnn_connection_mock.h @@ -19,6 +19,7 @@ #include #include +#include "disc_interface.h" #include "softbus_conn_interface.h" namespace OHOS { @@ -38,6 +39,7 @@ public: virtual int32_t ConnStartLocalListening(const LocalListenerInfo *info) = 0; virtual int32_t ConnStopLocalListening(const LocalListenerInfo *info) = 0; virtual uint32_t ConnGetNewRequestId(ConnModule moduleId) = 0; + virtual void DiscDeviceInfoChanged(InfoTypeChanged type) = 0; }; class LnnConnectInterfaceMock : public LnnConnectInterface { public: @@ -54,6 +56,7 @@ public: MOCK_METHOD1(ConnStartLocalListening, int32_t (const LocalListenerInfo *)); MOCK_METHOD1(ConnStopLocalListening, int32_t (const LocalListenerInfo *)); MOCK_METHOD1(ConnGetNewRequestId, uint32_t (ConnModule)); + MOCK_METHOD1(DiscDeviceInfoChanged, void (InfoTypeChanged)); }; } // namespace OHOS #endif // AUTH_CONNECTION_MOCK_H \ No newline at end of file diff --git a/tests/core/bus_center/mock_common/include/lnn_trans_mock.h b/tests/core/bus_center/mock_common/include/lnn_trans_mock.h index fb41973a15ba0f0db0581d8378381b144876d914..70f9cc4ca1b02fae651baac032bbe13bb9ad7470 100644 --- a/tests/core/bus_center/mock_common/include/lnn_trans_mock.h +++ b/tests/core/bus_center/mock_common/include/lnn_trans_mock.h @@ -31,6 +31,7 @@ public: virtual int32_t TransOpenNetWorkingChannel(const char *sessionName, const char *peerNetworkId) = 0; virtual int32_t TransSendNetworkingMessage(int32_t channelId, const char *data, uint32_t dataLen, int32_t priority) = 0; + virtual int32_t TransCloseNetWorkingChannel(int32_t channelId) = 0; }; class LnnTransInterfaceMock : public LnnTransInterface { @@ -40,8 +41,9 @@ public: MOCK_METHOD1(TransRegisterNetworkingChannelListener, int (const INetworkingListener *)); MOCK_METHOD2(TransOpenNetWorkingChannel, int32_t (const char *, const char *)); MOCK_METHOD4(TransSendNetworkingMessage, int32_t (int32_t, const char *, uint32_t, int32_t)); + MOCK_METHOD1(TransCloseNetWorkingChannel, int32_t (int32_t)); static int32_t ActionOfTransRegister(const INetworkingListener *listener); - static const inline INetworkingListener *g_networkListener; + static inline const INetworkingListener *g_networkListener; }; } // namespace OHOS #endif // AUTH_TRANS_MOCK_H \ No newline at end of file diff --git a/tests/core/bus_center/mock_common/src/lnn_connection_mock.cpp b/tests/core/bus_center/mock_common/src/lnn_connection_mock.cpp index fef7493f2cba2dbae551f887c143f24acd00c287..4e44709929b4a1e26c0c56bfbfe3b0b7a380e9f8 100644 --- a/tests/core/bus_center/mock_common/src/lnn_connection_mock.cpp +++ b/tests/core/bus_center/mock_common/src/lnn_connection_mock.cpp @@ -90,5 +90,10 @@ uint32_t ConnGetNewRequestId(ConnModule moduleId) { return GetConnInterface()->ConnGetNewRequestId(moduleId); } + +void DiscDeviceInfoChanged(InfoTypeChanged type) +{ + return GetConnInterface()->DiscDeviceInfoChanged(type); +} } } \ No newline at end of file diff --git a/tests/core/bus_center/mock_common/src/lnn_trans_mock.cpp b/tests/core/bus_center/mock_common/src/lnn_trans_mock.cpp index 64b540e69e5d4e1ef5ebf56d0310083bc054f2c9..308fa6b9667a5c4d83feab1ce96dbb74ef9f28d0 100644 --- a/tests/core/bus_center/mock_common/src/lnn_trans_mock.cpp +++ b/tests/core/bus_center/mock_common/src/lnn_trans_mock.cpp @@ -36,15 +36,8 @@ static LnnTransInterfaceMock *GetTransInterface() return reinterpret_cast(g_transInterface); } -int32_t LnnTransInterfaceMock::ActionOfTransRegister(const INetworkingListener *listener) -{ - SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "ActionOfTransRegister enter"); - g_networkListener = listener; - return SOFTBUS_OK; -} - extern "C" { -int32_t TransRegisterNetworkingChannelListener(const INetworkingListener *listener) +int TransRegisterNetworkingChannelListener(const INetworkingListener *listener) { return GetTransInterface()->TransRegisterNetworkingChannelListener(listener); } @@ -61,5 +54,20 @@ int32_t TransSendNetworkingMessage(int32_t channelId, const char *data, SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_INFO, "TransSendNetworkingMessage enter"); return GetTransInterface()->TransSendNetworkingMessage(channelId, data, dataLen, priority); } + +int32_t TransCloseNetWorkingChannel(int32_t channelId) +{ + return GetTransInterface()->TransCloseNetWorkingChannel(channelId); +} + +int32_t LnnTransInterfaceMock::ActionOfTransRegister(const INetworkingListener *listener) +{ + if (listener == NULL) { + SoftBusLog(SOFTBUS_LOG_LNN, SOFTBUS_LOG_ERROR, "listener is invalid para"); + return SOFTBUS_ERR; + } + g_networkListener = listener; + return SOFTBUS_OK; +} } } \ No newline at end of file