// Copyright (c) 2014-2026 Savoir-faire Linux Inc. // SPDX-License-Identifier: MIT #pragma once // cppunit #include #include #include #include #include namespace test { class DhtProxyTester : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(DhtProxyTester); CPPUNIT_TEST(testGetPut); CPPUNIT_TEST(testListen); CPPUNIT_TEST(testResubscribeGetValues); CPPUNIT_TEST(testPutGet40KChars); CPPUNIT_TEST(testFuzzy); CPPUNIT_TEST(testShutdownStop); #ifdef OPENDHT_PUSH_NOTIFICATIONS CPPUNIT_TEST(testPushNotificationPriority); #endif CPPUNIT_TEST_SUITE_END(); public: /** * Method automatically called before each test by CppUnit * Init nodes */ void setUp(); /** * Method automatically called after each test CppUnit */ void tearDown(); /** * Test get and put methods */ void testGetPut(); /** * Test listen */ void testListen(); /** * When a proxy redo a subscribe on the proxy * it should retrieve existant values */ void testResubscribeGetValues(); /** * Test MTU put/get on dht */ void testPutGet40KChars(); void testFuzzy(); void testShutdownStop(); #ifdef OPENDHT_PUSH_NOTIFICATIONS /** * The proxy must only request a high-priority push for real-time call * signaling (audioCall/videoCall at priority 0); everything else stays at * normal priority. */ void testPushNotificationPriority(); #endif private: dht::DhtRunner::Config clientConfig {}; dht::DhtRunner nodePeer; dht::DhtRunner nodeClient; std::shared_ptr nodeProxy; std::unique_ptr serverProxy; }; } // namespace test