From 8065504bb0b9c4376dd25061b7c985fd39f15d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Tue, 2 Jan 2024 11:55:06 -0500 Subject: [PATCH] tests: fix testAddAcceptOfflineThenConnects Change-Id: I0e0248d167af0e81cef828ef3c1e3746d974aaed --- .../conversation/conversationMembersEvent.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/unitTest/conversation/conversationMembersEvent.cpp b/test/unitTest/conversation/conversationMembersEvent.cpp index 97ffb481ce..915732f66d 100644 --- a/test/unitTest/conversation/conversationMembersEvent.cpp +++ b/test/unitTest/conversation/conversationMembersEvent.cpp @@ -584,12 +584,23 @@ ConversationMembersEventTest::testAddAcceptOfflineThenConnects() requestReceived = true; cv.notify_one(); })); + bool aliceStopped = false; + confHandlers.insert( + libjami::exportable_callback<libjami::ConfigurationSignal::VolatileDetailsChanged>( + [&](const std::string&, const std::map<std::string, std::string>&) { + auto details = aliceAccount->getVolatileAccountDetails(); + auto daemonStatus = details[libjami::Account::ConfProperties::Registration::STATUS]; + if (daemonStatus == "UNREGISTERED") + aliceStopped = true; + cv.notify_one(); + })); libjami::registerSignalHandlers(confHandlers); libjami::addConversationMember(aliceId, convId, bobUri); CPPUNIT_ASSERT(cv.wait_for(lk, 60s, [&] { return requestReceived; })); Manager::instance().sendRegister(aliceId, false); // This avoid to sync immediately + CPPUNIT_ASSERT(cv.wait_for(lk, 60s, [&] { return aliceStopped; })); libjami::acceptConversationRequest(bobId, convId); std::this_thread::sleep_for(40s); // Wait for negotiation to timeout -- GitLab