From 1317bb337278aafd4f831e980a6c40c4a7d20e9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Fri, 29 Oct 2021 10:39:18 -0400 Subject: [PATCH] tests: fix testRemoveContactRemoveSyncing wait for contactAdded before actually removing it. Change-Id: I29a6a2220a2e77ca023abdccab44c1f6a65bd5e5 --- test/unitTest/conversation/conversationRequest.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/unitTest/conversation/conversationRequest.cpp b/test/unitTest/conversation/conversationRequest.cpp index c1eeb31cb2..f24a787180 100644 --- a/test/unitTest/conversation/conversationRequest.cpp +++ b/test/unitTest/conversation/conversationRequest.cpp @@ -888,7 +888,7 @@ ConversationRequestTest::testRemoveContactRemoveSyncing() std::unique_lock<std::mutex> lk {mtx}; std::condition_variable cv; std::map<std::string, std::shared_ptr<DRing::CallbackWrapperBase>> confHandlers; - bool conversationReady = false, requestReceived = false; + bool conversationReady = false, contactAdded = false, requestReceived = false; std::string convId = ""; confHandlers.insert(DRing::exportable_callback<DRing::ConfigurationSignal::IncomingTrustRequest>( [&](const std::string& account_id, @@ -909,6 +909,13 @@ ConversationRequestTest::testRemoveContactRemoveSyncing() } cv.notify_one(); })); + confHandlers.insert(DRing::exportable_callback<DRing::ConfigurationSignal::ContactAdded>( + [&](const std::string& accountId, const std::string& uri, bool confirmed) { + if (accountId == bobId && uri == aliceUri) { + contactAdded = true; + } + cv.notify_one(); + })); DRing::registerSignalHandlers(confHandlers); aliceAccount->addContact(bobUri); aliceAccount->sendTrustRequest(bobUri, {}); @@ -916,6 +923,7 @@ ConversationRequestTest::testRemoveContactRemoveSyncing() Manager::instance().sendRegister(aliceId, false); // This avoid to sync immediately CPPUNIT_ASSERT(bobAccount->acceptTrustRequest(aliceUri)); + CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(30), [&]() { return contactAdded; })); CPPUNIT_ASSERT(DRing::getConversations(bobId).size() == 1); bobAccount->removeContact(aliceUri, false); -- GitLab