summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2017-04-27 21:49:00 -0500
committerPatrick Williams <patrick@stwcx.xyz>2017-05-02 02:57:41 +0000
commitb4041d44ba6f6956c2e354f49766ead7fb659793 (patch)
tree16d6d35b795a75eff2bfac5339213a1b3bbddeb5 /test
parentc69def637415c38510c0664fd3f58306e08ec7ee (diff)
downloadsdbusplus-b4041d44ba6f6956c2e354f49766ead7fb659793.tar.gz
sdbusplus-b4041d44ba6f6956c2e354f49766ead7fb659793.zip
bus: add wrapper for sd_bus_list_names
Change-Id: I94467376e89cc813e270cbbe27b83c4415bb9d85 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am4
-rw-r--r--test/bus/list_names.cpp51
2 files changed, 55 insertions, 0 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index c80b2b5..bc1ede9 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -5,6 +5,10 @@ check_PROGRAMS =
TESTS = $(check_PROGRAMS)
+check_PROGRAMS += bus_list_names
+bus_list_names_SOURCES = bus/list_names.cpp
+bus_list_names_LDFLAGS = $(gtest_ldflags) $(SYSTEMD_LIBS)
+
check_PROGRAMS += message_append
message_append_CXXFLAGS = $(SYSTEMD_CFLAGS) $(PTHREAD_CFLAGS)
message_append_LDFLAGS = $(SYSTEMD_LIBS) $(PTHREAD_LIBS)
diff --git a/test/bus/list_names.cpp b/test/bus/list_names.cpp
new file mode 100644
index 0000000..65333b7
--- /dev/null
+++ b/test/bus/list_names.cpp
@@ -0,0 +1,51 @@
+#include <gtest/gtest.h>
+#include <sdbusplus/bus.hpp>
+
+constexpr auto this_name = "xyz.openbmc_project.sdbusplus.test.ListNames";
+
+class ListNames : public ::testing::Test
+{
+ protected:
+ decltype(sdbusplus::bus::new_default()) bus =
+ sdbusplus::bus::new_default();
+};
+
+TEST_F(ListNames, NoServiceNameWithoutRequestName)
+{
+ auto names = bus.list_names_acquired();
+
+ EXPECT_EQ(names.cend(),
+ std::find(names.cbegin(), names.cend(), this_name));
+}
+
+TEST_F(ListNames, HasServiceNameAfterRequestName)
+{
+ bus.request_name(this_name);
+ auto names = bus.list_names_acquired();
+
+ auto i = std::find(names.cbegin(), names.cend(), this_name);
+
+ ASSERT_NE(names.cend(), i);
+ EXPECT_EQ(this_name, *i);
+}
+
+TEST_F(ListNames, HasUniqueName)
+{
+ auto names = bus.list_names_acquired();
+
+ ASSERT_FALSE(bus.get_unique_name().empty());
+ EXPECT_NE(names.cend(),
+ std::find(names.cbegin(), names.cend(), bus.get_unique_name()));
+}
+
+
+TEST_F(ListNames, HasDbusServer)
+{
+ auto names = bus.list_names_acquired();
+
+ auto dbus_server = "org.freedesktop.DBus";
+ auto i = std::find(names.cbegin(), names.cend(), dbus_server);
+
+ ASSERT_NE(names.cend(), i);
+ EXPECT_EQ(dbus_server, *i);
+}
OpenPOWER on IntegriCloud