xref: /openbmc/boost-dbus/test/message.cpp (revision 44d24258502cdd08d24d15e55050afc9e4c8495a)
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>
84317e4d9SBenjamin 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 
174317e4d9SBenjamin 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 
33*44d24258SBenjamin Kietzman   message m2 = message::new_call(
34*44d24258SBenjamin Kietzman     endpoint(
35*44d24258SBenjamin Kietzman       "org.freedesktop.Avahi",
36*44d24258SBenjamin Kietzman       "/",
37*44d24258SBenjamin Kietzman       "org.freedesktop.Avahi.Server"),
38*44d24258SBenjamin Kietzman     "GetHostName");
39*44d24258SBenjamin Kietzman 
40*44d24258SBenjamin Kietzman   m2 << 1;
41*44d24258SBenjamin Kietzman   int i;
42*44d24258SBenjamin Kietzman   m2 >> i;
43*44d24258SBenjamin Kietzman   ASSERT_EQ(i, 1);
44*44d24258SBenjamin Kietzman 
453b5db5bcSBenjamin Kietzman   // m.get_sender();
463b5db5bcSBenjamin Kietzman }
474317e4d9SBenjamin Kietzman 
484317e4d9SBenjamin Kietzman 
494317e4d9SBenjamin Kietzman // I actually don't know what to do with these yet.
504317e4d9SBenjamin Kietzman /*
514317e4d9SBenjamin Kietzman TEST_F(MessageTest, ErrorMessage)
524317e4d9SBenjamin Kietzman {
534317e4d9SBenjamin Kietzman   using namespace dbus;
544317e4d9SBenjamin Kietzman 
554317e4d9SBenjamin Kietzman   message m = message::new_call(
564317e4d9SBenjamin Kietzman     endpoint(
574317e4d9SBenjamin Kietzman       "org.freedesktop.Avahi",
584317e4d9SBenjamin Kietzman       "/",
594317e4d9SBenjamin Kietzman       "org.freedesktop.Avahi.Server"),
604317e4d9SBenjamin Kietzman     "GetHostName");
614317e4d9SBenjamin Kietzman 
624317e4d9SBenjamin Kietzman   m.set_reply_serial(42);
634317e4d9SBenjamin Kietzman   m.set_serial(43);
644317e4d9SBenjamin Kietzman 
654317e4d9SBenjamin Kietzman   message em = message::new_error(
664317e4d9SBenjamin Kietzman     m,
674317e4d9SBenjamin Kietzman     "com.skizizo.NoHostname",
684317e4d9SBenjamin Kietzman     "No hostname for you!");
694317e4d9SBenjamin Kietzman 
704317e4d9SBenjamin Kietzman   const error e(em);
714317e4d9SBenjamin Kietzman 
724317e4d9SBenjamin Kietzman   e.throw_if_set();
734317e4d9SBenjamin Kietzman }
744317e4d9SBenjamin Kietzman */
75