1 #include <sdbusplus/bus.hpp> 2 3 #include <gtest/gtest.h> 4 5 constexpr auto this_name = "xyz.openbmc_project.sdbusplus.test.ListNames"; 6 7 class ListNames : public ::testing::Test 8 { 9 protected: 10 decltype(sdbusplus::bus::new_default()) bus = sdbusplus::bus::new_default(); 11 }; 12 13 TEST_F(ListNames, NoServiceNameWithoutRequestName) 14 { 15 auto names = bus.list_names_acquired(); 16 17 EXPECT_EQ(names.cend(), std::find(names.cbegin(), names.cend(), this_name)); 18 } 19 20 TEST_F(ListNames, HasServiceNameAfterRequestName) 21 { 22 bus.request_name(this_name); 23 auto names = bus.list_names_acquired(); 24 25 auto i = std::find(names.cbegin(), names.cend(), this_name); 26 27 ASSERT_NE(names.cend(), i); 28 EXPECT_EQ(this_name, *i); 29 } 30 31 TEST_F(ListNames, HasUniqueName) 32 { 33 auto names = bus.list_names_acquired(); 34 35 ASSERT_FALSE(bus.get_unique_name().empty()); 36 EXPECT_NE(names.cend(), 37 std::find(names.cbegin(), names.cend(), bus.get_unique_name())); 38 } 39 40 TEST_F(ListNames, HasDbusServer) 41 { 42 auto names = bus.list_names_acquired(); 43 44 auto dbus_server = "org.freedesktop.DBus"; 45 auto i = std::find(names.cbegin(), names.cend(), dbus_server); 46 47 ASSERT_NE(names.cend(), i); 48 EXPECT_EQ(dbus_server, *i); 49 } 50