xref: /openbmc/boost-dbus/test/message.cpp (revision da3eeb6afd298e879dbc9a049c7bcdd9c848baba)
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 
64317e4d9SBenjamin Kietzman #include <dbus/error.hpp>
7*da3eeb6aSEd Tanous #include <dbus/connection.hpp>
8*da3eeb6aSEd Tanous #include <dbus/endpoint.hpp>
9*da3eeb6aSEd Tanous #include <dbus/filter.hpp>
10*da3eeb6aSEd Tanous #include <dbus/match.hpp>
11*da3eeb6aSEd Tanous #include <dbus/message.hpp>
12*da3eeb6aSEd Tanous #include <gtest/gtest.h>
133b5db5bcSBenjamin Kietzman 
14*da3eeb6aSEd Tanous TEST(MessageTest, CallMessage) {
15*da3eeb6aSEd Tanous   const dbus::message m =
16*da3eeb6aSEd Tanous       dbus::message::new_call(dbus::endpoint("org.freedesktop.Avahi", "/",
1716d80fe9SBenjamin Kietzman                                              "org.freedesktop.Avahi.Server"),
183b5db5bcSBenjamin Kietzman                               "GetHostName");
193b5db5bcSBenjamin Kietzman 
203b5db5bcSBenjamin Kietzman   ASSERT_EQ("org.freedesktop.Avahi", m.get_destination());
213b5db5bcSBenjamin Kietzman   ASSERT_EQ("/", m.get_path());
223b5db5bcSBenjamin Kietzman   ASSERT_EQ("org.freedesktop.Avahi.Server", m.get_interface());
233b5db5bcSBenjamin Kietzman   ASSERT_EQ("GetHostName", m.get_member());
243b5db5bcSBenjamin Kietzman 
25*da3eeb6aSEd Tanous   dbus::message m2 =
26*da3eeb6aSEd Tanous       dbus::message::new_call(dbus::endpoint("org.freedesktop.Avahi", "/",
2744d24258SBenjamin Kietzman                                              "org.freedesktop.Avahi.Server"),
2844d24258SBenjamin Kietzman                               "GetHostName");
2944d24258SBenjamin Kietzman 
3044d24258SBenjamin Kietzman   m2 << 1;
3144d24258SBenjamin Kietzman   int i;
3244d24258SBenjamin Kietzman   m2 >> i;
3344d24258SBenjamin Kietzman   ASSERT_EQ(i, 1);
3444d24258SBenjamin Kietzman 
353b5db5bcSBenjamin Kietzman   // m.get_sender();
363b5db5bcSBenjamin Kietzman }
374317e4d9SBenjamin Kietzman 
384317e4d9SBenjamin Kietzman // I actually don't know what to do with these yet.
394317e4d9SBenjamin Kietzman /*
40*da3eeb6aSEd Tanous TEST(MessageTest, ErrorMessage)
414317e4d9SBenjamin Kietzman {
424317e4d9SBenjamin Kietzman 
43*da3eeb6aSEd Tanous   dbus::message m = dbus::message::new_call(
44*da3eeb6aSEd Tanous     dbus::endpoint(
454317e4d9SBenjamin Kietzman       "org.freedesktop.Avahi",
464317e4d9SBenjamin Kietzman       "/",
474317e4d9SBenjamin Kietzman       "org.freedesktop.Avahi.Server"),
484317e4d9SBenjamin Kietzman     "GetHostName");
494317e4d9SBenjamin Kietzman 
504317e4d9SBenjamin Kietzman   m.set_reply_serial(42);
514317e4d9SBenjamin Kietzman   m.set_serial(43);
524317e4d9SBenjamin Kietzman 
53*da3eeb6aSEd Tanous   dbus::message em = dbus::message::new_error(
544317e4d9SBenjamin Kietzman     m,
554317e4d9SBenjamin Kietzman     "com.skizizo.NoHostname",
564317e4d9SBenjamin Kietzman     "No hostname for you!");
574317e4d9SBenjamin Kietzman 
584317e4d9SBenjamin Kietzman   const error e(em);
594317e4d9SBenjamin Kietzman 
604317e4d9SBenjamin Kietzman   e.throw_if_set();
614317e4d9SBenjamin Kietzman }
624317e4d9SBenjamin Kietzman */
63