From d62af1bdc879c6e73a482ebfc1dddc387b2753cb Mon Sep 17 00:00:00 2001 From: liaoyonghuang Date: Mon, 26 May 2025 10:52:20 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E7=AB=AF=E7=AB=AF=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E7=94=A8=E6=88=B7=E5=90=8C=E6=AD=A5=E3=80=91=E3=80=90?= =?UTF-8?q?bugfix=E3=80=91=E4=BF=AE=E5=A4=8DreceiveUser=E4=B8=BA=E7=A9=BA?= =?UTF-8?q?=E6=97=B6=E5=90=8C=E6=AD=A5=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liaoyonghuang --- .../communicator/src/communicator_aggregator.cpp | 2 +- .../common/communicator/adapter_stub.cpp | 16 +++++++++++++++- .../unittest/common/communicator/adapter_stub.h | 5 +++++ ...tributeddb_communicator_send_receive_test.cpp | 4 +++- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/frameworks/libs/distributeddb/communicator/src/communicator_aggregator.cpp b/frameworks/libs/distributeddb/communicator/src/communicator_aggregator.cpp index 89d69a3629..0b3d952e76 100644 --- a/frameworks/libs/distributeddb/communicator/src/communicator_aggregator.cpp +++ b/frameworks/libs/distributeddb/communicator/src/communicator_aggregator.cpp @@ -681,7 +681,7 @@ int CommunicatorAggregator::OnAppLayerFrameReceive(const ReceiveBytesInfo &recei UserInfo userInfo = { .sendUser = DBConstant::DEFAULT_USER }; if (receiveBytesInfo.headLength != 0) { int ret = GetDataUserId(inResult, toLabel, userInfoProc, receiveBytesInfo.srcTarget, userInfo); - if (ret != E_OK || userInfo.receiveUser.empty() || userInfo.sendUser.empty()) { + if (ret != E_OK || userInfo.sendUser.empty()) { LOGE("[CommAggr][AppReceive] get data user id err, ret=%d, empty receiveUser=%d, empty sendUser=%d", ret, userInfo.receiveUser.empty(), userInfo.sendUser.empty()); delete inFrameBuffer; diff --git a/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.cpp b/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.cpp index 0497fdf67e..5c477deafd 100644 --- a/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.cpp +++ b/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.cpp @@ -215,7 +215,11 @@ void AdapterStub::DeliverBytes(const std::string &srcTarget, const uint8_t *byte uint32_t headLength = 0; GetDataHeadInfo(bytes, headLength); std::vector userInfos; - GetDataUserInfo(bytes, userInfos); + if (userInfo_.empty()) { + GetDataUserInfo(bytes, userInfos); + } else { + userInfos = userInfo_; + } std::shared_ptr processCommunicator = std::make_shared(); processCommunicator->SetDataUserInfo(userInfos); @@ -457,4 +461,14 @@ void AdapterStub::ApplySendBitError(const uint8_t *bytes, uint32_t length) phyHeader->checkSum = HostToNet(CalculateXorSum(bytes + LENGTH_BEFORE_SUM_RANGE, length - LENGTH_BEFORE_SUM_RANGE)); } +} + +void AdapterStub::SetUserInfo(const std::vector &userInfo) +{ + userInfo_ = userInfo; +} + +std::vector AdapterStub::GetUserInfo() +{ + return userInfo_; } \ No newline at end of file diff --git a/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.h b/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.h index ca2991278e..4d719aada1 100644 --- a/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.h +++ b/frameworks/libs/distributeddb/test/unittest/common/communicator/adapter_stub.h @@ -87,6 +87,9 @@ public: void SimulateSendBitErrorInPaddingLenField(bool doFlag, uint8_t inPaddingLen); void SimulateSendBitErrorInMessageIdField(bool doFlag, uint32_t inMessageId); void ForkSendBytes(const OnSendBytes &onSendBytes); + + void SetUserInfo(const std::vector &userInfo); + std::vector GetUserInfo(); private: void Connect(AdapterStub *inStub); void Disconnect(AdapterStub *inStub); @@ -139,6 +142,8 @@ private: std::mutex sendBytesMutex_; OnSendBytes onSendBytes_; + + std::vector userInfo_; }; } diff --git a/frameworks/libs/distributeddb/test/unittest/common/communicator/distributeddb_communicator_send_receive_test.cpp b/frameworks/libs/distributeddb/test/unittest/common/communicator/distributeddb_communicator_send_receive_test.cpp index b5628e2280..d81470b609 100644 --- a/frameworks/libs/distributeddb/test/unittest/common/communicator/distributeddb_communicator_send_receive_test.cpp +++ b/frameworks/libs/distributeddb/test/unittest/common/communicator/distributeddb_communicator_send_receive_test.cpp @@ -786,7 +786,9 @@ HWTEST_F(DistributedDBCommunicatorSendReceiveTest, SendAndReceiveWithExtendHead0 */ Message *msgForAA = BuildAppLayerFrameMessage(); ASSERT_NE(msgForAA, nullptr); - SendConfig conf = {false, true, 0, {"appId", "storeId", "userId", "DeviceB"}}; + UserInfo userInfo = {"", "userId"}; + g_envDeviceB.adapterHandle->SetUserInfo({userInfo}); + SendConfig conf = {false, true, 0, {"appId", "storeId", "", "DeviceB"}}; int errCode = g_commAA->SendMessage(DEVICE_NAME_B, msgForAA, conf); EXPECT_EQ(errCode, E_OK); std::this_thread::sleep_for(std::chrono::milliseconds(200)); // sleep 200 ms -- Gitee