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