diff --git a/test/unitTest/Makefile.am b/test/unitTest/Makefile.am
index b79f130f2bc9c13c5d06bef57be132bc306786cc..abfa3bc7b51c408b1fcd7f367f8323538f6f8884 100644
--- a/test/unitTest/Makefile.am
+++ b/test/unitTest/Makefile.am
@@ -186,12 +186,6 @@ ut_hold_resume_SOURCES = media_negotiation/hold_resume.cpp common.cpp
 check_PROGRAMS += ut_auto_answer
 ut_auto_answer_SOURCES = media_negotiation/auto_answer.cpp common.cpp
 
-#
-# compability
-#
-check_PROGRAMS += ut_compability
-ut_compability_SOURCES = conversation/compability.cpp
-
 #
 # conversationRequest
 #
diff --git a/test/unitTest/conversation/compability.cpp b/test/unitTest/conversation/compability.cpp
deleted file mode 100644
index 17ba07ca24681a846ba452c3f82a75705eb4842f..0000000000000000000000000000000000000000
--- a/test/unitTest/conversation/compability.cpp
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- *  Copyright (C) 2021-2022 Savoir-faire Linux Inc.
- *  Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
- *
- *  This program is free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 3 of the License, or
- *  (at your option) any later version.
- *
- *  This program is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  You should have received a copy of the GNU General Public License
- *  along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
-#include <cppunit/TestAssert.h>
-#include <cppunit/TestFixture.h>
-#include <cppunit/extensions/HelperMacros.h>
-
-#include <condition_variable>
-#include <string>
-#include <fstream>
-#include <streambuf>
-#include <filesystem>
-#include <msgpack.hpp>
-
-#include "manager.h"
-#include "jamidht/conversation.h"
-#include "jamidht/conversationrepository.h"
-#include "jamidht/jamiaccount.h"
-#include "../../test_runner.h"
-#include "jami.h"
-#include "fileutils.h"
-#include "account_const.h"
-
-using namespace std::string_literals;
-using namespace libjami::Account;
-
-namespace jami {
-namespace test {
-
-class CompabilityTest : public CppUnit::TestFixture
-{
-public:
-    ~CompabilityTest() { libjami::fini(); }
-    static std::string name() { return "Compability"; }
-    void setUp();
-    void tearDown();
-
-    std::string aliceId;
-    std::string bobId;
-
-private:
-    void testIsComposing();
-    void testSendFileCompatibility();
-
-    CPPUNIT_TEST_SUITE(CompabilityTest);
-    CPPUNIT_TEST(testIsComposing);
-    CPPUNIT_TEST(testSendFileCompatibility);
-    CPPUNIT_TEST_SUITE_END();
-};
-
-CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(CompabilityTest, CompabilityTest::name());
-
-void
-CompabilityTest::setUp()
-{
-    // Init daemon
-    libjami::init(libjami::InitFlag(libjami::LIBJAMI_FLAG_DEBUG | libjami::LIBJAMI_FLAG_CONSOLE_LOG));
-    if (not Manager::instance().initialized)
-        CPPUNIT_ASSERT(libjami::start("jami-sample.yml"));
-
-    std::map<std::string, std::string> details = libjami::getAccountTemplate("RING");
-    details[ConfProperties::TYPE] = "RING";
-    details[ConfProperties::DISPLAYNAME] = "ALICE";
-    details[ConfProperties::ALIAS] = "ALICE";
-    details[ConfProperties::UPNP_ENABLED] = "true";
-    details[ConfProperties::ARCHIVE_PASSWORD] = "";
-    details[ConfProperties::ARCHIVE_PIN] = "";
-    details[ConfProperties::ARCHIVE_PATH] = "";
-    aliceId = Manager::instance().addAccount(details);
-
-    details = libjami::getAccountTemplate("RING");
-    details[ConfProperties::TYPE] = "RING";
-    details[ConfProperties::DISPLAYNAME] = "BOB";
-    details[ConfProperties::ALIAS] = "BOB";
-    details[ConfProperties::UPNP_ENABLED] = "true";
-    details[ConfProperties::ARCHIVE_PASSWORD] = "";
-    details[ConfProperties::ARCHIVE_PIN] = "";
-    details[ConfProperties::ARCHIVE_PATH] = "";
-    bobId = Manager::instance().addAccount(details);
-
-    JAMI_INFO("Initialize account...");
-    auto aliceAccount = Manager::instance().getAccount<JamiAccount>(aliceId);
-    auto bobAccount = Manager::instance().getAccount<JamiAccount>(bobId);
-    std::map<std::string, std::shared_ptr<libjami::CallbackWrapperBase>> confHandlers;
-    std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
-    std::condition_variable cv;
-    confHandlers.insert(
-        libjami::exportable_callback<libjami::ConfigurationSignal::VolatileDetailsChanged>(
-            [&](const std::string&, const std::map<std::string, std::string>&) {
-                bool ready = false;
-                auto details = aliceAccount->getVolatileAccountDetails();
-                auto daemonStatus = details[libjami::Account::ConfProperties::Registration::STATUS];
-                ready = (daemonStatus == "REGISTERED");
-                details = bobAccount->getVolatileAccountDetails();
-                daemonStatus = details[libjami::Account::ConfProperties::Registration::STATUS];
-                ready &= (daemonStatus == "REGISTERED");
-            }));
-    libjami::registerSignalHandlers(confHandlers);
-    cv.wait_for(lk, std::chrono::seconds(30));
-    libjami::unregisterSignalHandlers();
-}
-
-void
-CompabilityTest::tearDown()
-{
-    libjami::unregisterSignalHandlers();
-    auto currentAccSize = Manager::instance().getAccountList().size();
-    Manager::instance().removeAccount(aliceId, true);
-    Manager::instance().removeAccount(bobId, true);
-
-    auto bobArchive = std::filesystem::current_path().string() + "/bob.gz";
-    std::remove(bobArchive.c_str());
-
-    // Because cppunit is not linked with dbus, just poll if removed
-    for (int i = 0; i < 40; ++i) {
-        if (Manager::instance().getAccountList().size() <= currentAccSize - 2)
-            break;
-        std::this_thread::sleep_for(std::chrono::milliseconds(100));
-    }
-}
-
-void
-CompabilityTest::testIsComposing()
-{
-    auto aliceAccount = Manager::instance().getAccount<JamiAccount>(aliceId);
-    auto bobAccount = Manager::instance().getAccount<JamiAccount>(bobId);
-    auto bobUri = bobAccount->getUsername();
-    auto aliceUri = aliceAccount->getUsername();
-    std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
-    std::condition_variable cv;
-    std::map<std::string, std::shared_ptr<libjami::CallbackWrapperBase>> confHandlers;
-    bool conversationRemoved = false, requestReceived = false, aliceComposing = false;
-    std::string convId = "";
-    confHandlers.insert(libjami::exportable_callback<libjami::ConfigurationSignal::IncomingTrustRequest>(
-        [&](const std::string& account_id,
-            const std::string& /*from*/,
-            const std::string& /*conversationId*/,
-            const std::vector<uint8_t>& /*payload*/,
-            time_t /*received*/) {
-            if (account_id == bobId)
-                requestReceived = true;
-            cv.notify_one();
-        }));
-    confHandlers.insert(libjami::exportable_callback<libjami::ConversationSignal::ConversationReady>(
-        [&](const std::string& accountId, const std::string& conversationId) {
-            if (accountId == aliceId) {
-                convId = conversationId;
-            }
-            cv.notify_one();
-        }));
-    confHandlers.insert(libjami::exportable_callback<libjami::ConversationSignal::ConversationRemoved>(
-        [&](const std::string& accountId, const std::string&) {
-            if (accountId == aliceId) {
-                conversationRemoved = true;
-            }
-            cv.notify_one();
-        }));
-    confHandlers.insert(
-        libjami::exportable_callback<libjami::ConfigurationSignal::ComposingStatusChanged>(
-            [&](const std::string& accountId,
-                const std::string& conversationId,
-                const std::string& peer,
-                bool state) {
-                if (accountId == bobId && conversationId == "" && peer == aliceUri) {
-                    aliceComposing = state;
-                    cv.notify_one();
-                }
-            }));
-    libjami::registerSignalHandlers(confHandlers);
-    aliceAccount->sendTrustRequest(bobUri, {});
-    CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(30), [&]() {
-        return !convId.empty() && requestReceived;
-    }));
-    CPPUNIT_ASSERT(bobAccount->acceptTrustRequest(aliceUri, false));
-
-    // Send iscomposing to non swarm compatible contact
-
-    aliceAccount->setIsComposing("jami:" + bobUri, true);
-    CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(30), [&]() { return aliceComposing; }));
-
-    aliceAccount->setIsComposing("jami:" + bobUri, false);
-    CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(30), [&]() { return !aliceComposing; }));
-    libjami::unregisterSignalHandlers();
-}
-
-void
-CompabilityTest::testSendFileCompatibility()
-{
-    auto aliceAccount = Manager::instance().getAccount<JamiAccount>(aliceId);
-    auto bobAccount = Manager::instance().getAccount<JamiAccount>(bobId);
-    auto bobUri = bobAccount->getUsername();
-    auto aliceUri = aliceAccount->getUsername();
-    std::mutex mtx;
-    std::unique_lock<std::mutex> lk {mtx};
-    std::condition_variable cv;
-    std::map<std::string, std::shared_ptr<libjami::CallbackWrapperBase>> confHandlers;
-    bool successfullyReceive = false, requestReceived = false;
-    std::string convId = "";
-    confHandlers.insert(libjami::exportable_callback<libjami::ConfigurationSignal::IncomingTrustRequest>(
-        [&](const std::string& account_id,
-            const std::string& /*from*/,
-            const std::string& /*conversationId*/,
-            const std::vector<uint8_t>& /*payload*/,
-            time_t /*received*/) {
-            if (account_id == bobId)
-                requestReceived = true;
-            cv.notify_one();
-        }));
-    confHandlers.insert(libjami::exportable_callback<libjami::ConversationSignal::ConversationReady>(
-        [&](const std::string& accountId, const std::string& conversationId) {
-            if (accountId == aliceId) {
-                convId = conversationId;
-            }
-            cv.notify_one();
-        }));
-    bobAccount->connectionManager().onChannelRequest(
-        [&](const std::shared_ptr<dht::crypto::Certificate>&, const std::string& name) {
-            successfullyReceive = name.find("file://") == 0;
-            cv.notify_one();
-            return true;
-        });
-    libjami::registerSignalHandlers(confHandlers);
-    aliceAccount->sendTrustRequest(bobUri, {});
-    CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(5), [&]() { return !convId.empty(); }));
-    ConversationRepository repo(aliceAccount, convId);
-    // Mode must be one to one
-    CPPUNIT_ASSERT(repo.mode() == ConversationMode::ONE_TO_ONE);
-    // Assert that repository exists
-    auto repoPath = fileutils::get_data_dir() + DIR_SEPARATOR_STR + aliceAccount->getAccountID()
-                    + DIR_SEPARATOR_STR + "conversations" + DIR_SEPARATOR_STR + convId;
-    CPPUNIT_ASSERT(fileutils::isDirectory(repoPath));
-    CPPUNIT_ASSERT(cv.wait_for(lk, std::chrono::seconds(30), [&]() { return requestReceived; }));
-
-    // Now, sending a file will trigger file://id instead of data-transfer://conv for compat
-
-    // Send file
-    std::ofstream sendFile("SEND");
-    CPPUNIT_ASSERT(sendFile.is_open());
-    // Avoid ASAN error on big alloc   sendFile << std::string("A", 64000);
-    for (int i = 0; i < 64000; ++i)
-        sendFile << "A";
-    sendFile.close();
-
-    // Send File
-    libjami::sendFile(aliceId, convId, "SEND", "SEND", "");
-
-    cv.wait_for(lk, std::chrono::seconds(30), [&]() { return successfullyReceive; });
-    std::remove("SEND");
-}
-
-} // namespace test
-} // namespace jami
-
-RING_TEST_RUNNER(jami::test::CompabilityTest::name())