xref: /openbmc/boost-dbus/test/message.cpp (revision 4317e4d9098c27cb638f44cc815ef1ab19b4fc20)
13b5db5bcSBenjamin Kietzman // Copyright (c) Benjamin Kietzman (github.com/bkietz)
23b5db5bcSBenjamin Kietzman //
33b5db5bcSBenjamin Kietzman // Distributed under the Boost Software License, Version 1.0. (See accompanying
43b5db5bcSBenjamin Kietzman // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
53b5db5bcSBenjamin Kietzman 
63b5db5bcSBenjamin Kietzman #include <gtest/gtest.h>
73b5db5bcSBenjamin Kietzman #include <dbus/message.hpp>
8*4317e4d9SBenjamin Kietzman #include <dbus/error.hpp>
93b5db5bcSBenjamin Kietzman 
103b5db5bcSBenjamin Kietzman 
113b5db5bcSBenjamin Kietzman class MessageTest
123b5db5bcSBenjamin Kietzman   : public testing::Test
133b5db5bcSBenjamin Kietzman {
143b5db5bcSBenjamin Kietzman };
153b5db5bcSBenjamin Kietzman 
163b5db5bcSBenjamin Kietzman 
17*4317e4d9SBenjamin Kietzman TEST_F(MessageTest, CallMessage)
183b5db5bcSBenjamin Kietzman {
193b5db5bcSBenjamin Kietzman   using namespace dbus;
203b5db5bcSBenjamin Kietzman 
213b5db5bcSBenjamin Kietzman   const message m = message::new_call(
2216d80fe9SBenjamin Kietzman     endpoint(
233b5db5bcSBenjamin Kietzman       "org.freedesktop.Avahi",
243b5db5bcSBenjamin Kietzman       "/",
2516d80fe9SBenjamin Kietzman       "org.freedesktop.Avahi.Server"),
263b5db5bcSBenjamin Kietzman     "GetHostName");
273b5db5bcSBenjamin Kietzman 
283b5db5bcSBenjamin Kietzman   ASSERT_EQ("org.freedesktop.Avahi", m.get_destination());
293b5db5bcSBenjamin Kietzman   ASSERT_EQ("/", m.get_path());
303b5db5bcSBenjamin Kietzman   ASSERT_EQ("org.freedesktop.Avahi.Server", m.get_interface());
313b5db5bcSBenjamin Kietzman   ASSERT_EQ("GetHostName", m.get_member());
323b5db5bcSBenjamin Kietzman 
333b5db5bcSBenjamin Kietzman   // m.get_sender();
343b5db5bcSBenjamin Kietzman }
35*4317e4d9SBenjamin Kietzman 
36*4317e4d9SBenjamin Kietzman 
37*4317e4d9SBenjamin Kietzman // I actually don't know what to do with these yet.
38*4317e4d9SBenjamin Kietzman /*
39*4317e4d9SBenjamin Kietzman TEST_F(MessageTest, ErrorMessage)
40*4317e4d9SBenjamin Kietzman {
41*4317e4d9SBenjamin Kietzman   using namespace dbus;
42*4317e4d9SBenjamin Kietzman 
43*4317e4d9SBenjamin Kietzman   message m = message::new_call(
44*4317e4d9SBenjamin Kietzman     endpoint(
45*4317e4d9SBenjamin Kietzman       "org.freedesktop.Avahi",
46*4317e4d9SBenjamin Kietzman       "/",
47*4317e4d9SBenjamin Kietzman       "org.freedesktop.Avahi.Server"),
48*4317e4d9SBenjamin Kietzman     "GetHostName");
49*4317e4d9SBenjamin Kietzman 
50*4317e4d9SBenjamin Kietzman   m.set_reply_serial(42);
51*4317e4d9SBenjamin Kietzman   m.set_serial(43);
52*4317e4d9SBenjamin Kietzman 
53*4317e4d9SBenjamin Kietzman   message em = message::new_error(
54*4317e4d9SBenjamin Kietzman     m,
55*4317e4d9SBenjamin Kietzman     "com.skizizo.NoHostname",
56*4317e4d9SBenjamin Kietzman     "No hostname for you!");
57*4317e4d9SBenjamin Kietzman 
58*4317e4d9SBenjamin Kietzman   const error e(em);
59*4317e4d9SBenjamin Kietzman 
60*4317e4d9SBenjamin Kietzman   e.throw_if_set();
61*4317e4d9SBenjamin Kietzman }
62*4317e4d9SBenjamin Kietzman */
63