Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 1 | #pragma once |
| 2 | |
William A. Kennington III | a0f52a3 | 2018-06-22 18:39:42 -0700 | [diff] [blame] | 3 | #include <sdbusplus/bus.hpp> |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 4 | #include <sdbusplus/sdbus.hpp> |
| 5 | |
Patrick Venture | 95269db | 2018-08-31 09:19:17 -0700 | [diff] [blame] | 6 | #include "gmock/gmock.h" |
| 7 | |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 8 | namespace sdbusplus |
| 9 | { |
| 10 | |
| 11 | class SdBusMock : public SdBusInterface |
| 12 | { |
| 13 | public: |
| 14 | virtual ~SdBusMock(){}; |
| 15 | |
Patrick Venture | 248c990 | 2018-04-10 17:53:43 -0700 | [diff] [blame] | 16 | MOCK_METHOD3(sd_bus_add_object_manager, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 17 | int(sd_bus*, sd_bus_slot**, const char*)); |
Patrick Venture | 540946e | 2018-04-16 13:17:51 -0700 | [diff] [blame] | 18 | MOCK_METHOD6(sd_bus_add_object_vtable, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 19 | int(sd_bus*, sd_bus_slot**, const char*, const char*, |
| 20 | const sd_bus_vtable*, void*)); |
| 21 | MOCK_METHOD3(sd_bus_attach_event, int(sd_bus*, sd_event*, int)); |
| 22 | MOCK_METHOD5(sd_bus_call, int(sd_bus*, sd_bus_message*, uint64_t, |
| 23 | sd_bus_error*, sd_bus_message**)); |
William A. Kennington III | 472b702 | 2021-04-15 13:13:14 -0700 | [diff] [blame] | 24 | MOCK_METHOD(int, sd_bus_call_async, |
| 25 | (sd_bus*, sd_bus_slot**, sd_bus_message*, |
| 26 | sd_bus_message_handler_t, void*, uint64_t), |
| 27 | (override)); |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 28 | MOCK_METHOD1(sd_bus_detach_event, int(sd_bus*)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 29 | |
| 30 | MOCK_METHOD3(sd_bus_emit_interfaces_added_strv, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 31 | int(sd_bus*, const char*, char**)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 32 | MOCK_METHOD3(sd_bus_emit_interfaces_removed_strv, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 33 | int(sd_bus*, const char*, char**)); |
| 34 | MOCK_METHOD2(sd_bus_emit_object_added, int(sd_bus*, const char*)); |
| 35 | MOCK_METHOD2(sd_bus_emit_object_removed, int(sd_bus*, const char*)); |
Patrick Venture | 540946e | 2018-04-16 13:17:51 -0700 | [diff] [blame] | 36 | MOCK_METHOD4(sd_bus_emit_properties_changed_strv, |
Patrick Williams | e659436 | 2020-10-10 09:41:24 -0500 | [diff] [blame] | 37 | int(sd_bus*, const char*, const char*, const char**)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 38 | |
William A. Kennington III | 6565454 | 2018-10-11 15:17:31 -0700 | [diff] [blame] | 39 | MOCK_METHOD3(sd_bus_error_set, |
| 40 | int(sd_bus_error*, const char*, const char*)); |
Patrick Venture | 263712f | 2018-04-16 14:19:08 -0700 | [diff] [blame] | 41 | MOCK_METHOD3(sd_bus_error_set_const, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 42 | int(sd_bus_error*, const char*, const char*)); |
| 43 | MOCK_METHOD1(sd_bus_error_get_errno, int(const sd_bus_error*)); |
| 44 | MOCK_METHOD2(sd_bus_error_set_errno, int(sd_bus_error*, int)); |
| 45 | MOCK_METHOD1(sd_bus_error_is_set, int(const sd_bus_error*)); |
| 46 | MOCK_METHOD1(sd_bus_error_free, void(sd_bus_error*)); |
Patrick Venture | 263712f | 2018-04-16 14:19:08 -0700 | [diff] [blame] | 47 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 48 | MOCK_METHOD1(sd_bus_get_event, sd_event*(sd_bus*)); |
| 49 | MOCK_METHOD1(sd_bus_get_fd, int(sd_bus*)); |
| 50 | MOCK_METHOD2(sd_bus_get_unique_name, int(sd_bus*, const char**)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 51 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 52 | MOCK_METHOD3(sd_bus_list_names, int(sd_bus*, char***, char***)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 53 | |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 54 | MOCK_METHOD3(sd_bus_message_append_basic, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 55 | int(sd_bus_message*, char, const void*)); |
| 56 | MOCK_METHOD2(sd_bus_message_at_end, int(sd_bus_message*, int)); |
| 57 | MOCK_METHOD1(sd_bus_message_close_container, int(sd_bus_message*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 58 | MOCK_METHOD3(sd_bus_message_enter_container, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 59 | int(sd_bus_message*, char, const char*)); |
| 60 | MOCK_METHOD1(sd_bus_message_exit_container, int(sd_bus_message*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 61 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 62 | MOCK_METHOD1(sd_bus_message_get_bus, sd_bus*(sd_bus_message*)); |
William A. Kennington III | 8e8d1a6 | 2018-10-14 23:24:25 -0700 | [diff] [blame] | 63 | MOCK_METHOD2(sd_bus_message_get_type, int(sd_bus_message*, uint8_t*)); |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 64 | MOCK_METHOD2(sd_bus_message_get_cookie, int(sd_bus_message*, uint64_t*)); |
William A. Kennington III | 209dfc6 | 2018-10-14 23:26:18 -0700 | [diff] [blame] | 65 | MOCK_METHOD2(sd_bus_message_get_reply_cookie, |
| 66 | int(sd_bus_message*, uint64_t*)); |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 67 | MOCK_METHOD1(sd_bus_message_get_destination, const char*(sd_bus_message*)); |
| 68 | MOCK_METHOD1(sd_bus_message_get_interface, const char*(sd_bus_message*)); |
| 69 | MOCK_METHOD1(sd_bus_message_get_member, const char*(sd_bus_message*)); |
| 70 | MOCK_METHOD1(sd_bus_message_get_path, const char*(sd_bus_message*)); |
| 71 | MOCK_METHOD1(sd_bus_message_get_sender, const char*(sd_bus_message*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 72 | MOCK_METHOD2(sd_bus_message_get_signature, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 73 | const char*(sd_bus_message*, int)); |
| 74 | MOCK_METHOD1(sd_bus_message_get_errno, int(sd_bus_message*)); |
Lei YU | c08cf52 | 2019-06-10 14:55:17 +0800 | [diff] [blame] | 75 | MOCK_METHOD1(sd_bus_message_get_error, |
| 76 | const sd_bus_error*(sd_bus_message*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 77 | |
| 78 | MOCK_METHOD3(sd_bus_message_is_method_call, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 79 | int(sd_bus_message*, const char*, const char*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 80 | MOCK_METHOD2(sd_bus_message_is_method_error, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 81 | int(sd_bus_message*, const char*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 82 | MOCK_METHOD3(sd_bus_message_is_signal, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 83 | int(sd_bus_message*, const char*, const char*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 84 | |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 85 | MOCK_METHOD6(sd_bus_message_new_method_call, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 86 | int(sd_bus*, sd_bus_message**, const char*, const char*, |
| 87 | const char*, const char*)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 88 | |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 89 | MOCK_METHOD2(sd_bus_message_new_method_return, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 90 | int(sd_bus_message*, sd_bus_message**)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 91 | |
William A. Kennington III | f534ba0 | 2020-06-25 00:20:55 -0700 | [diff] [blame] | 92 | MOCK_METHOD4(sd_bus_message_new_method_error, |
| 93 | int(sd_bus_message* call, sd_bus_message** m, const char* name, |
| 94 | const char* description)); |
| 95 | |
Vernon Mauery | 2b74e52 | 2018-10-02 14:55:39 -0700 | [diff] [blame] | 96 | MOCK_METHOD4(sd_bus_message_new_method_errno, |
| 97 | int(sd_bus_message* call, sd_bus_message** m, int error, |
| 98 | const sd_bus_error* p)); |
| 99 | |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 100 | MOCK_METHOD5(sd_bus_message_new_signal, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 101 | int(sd_bus*, sd_bus_message**, const char*, const char*, |
| 102 | const char*)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 103 | |
| 104 | MOCK_METHOD3(sd_bus_message_open_container, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 105 | int(sd_bus_message*, char, const char*)); |
Patrick Venture | ff09568 | 2018-04-13 20:54:32 -0700 | [diff] [blame] | 106 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 107 | MOCK_METHOD3(sd_bus_message_read_basic, int(sd_bus_message*, char, void*)); |
| 108 | MOCK_METHOD1(sd_bus_message_ref, sd_bus_message*(sd_bus_message*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 109 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 110 | MOCK_METHOD2(sd_bus_message_skip, int(sd_bus_message*, const char*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 111 | MOCK_METHOD3(sd_bus_message_verify_type, |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 112 | int(sd_bus_message*, char, const char*)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 113 | |
William A. Kennington III | 472b702 | 2021-04-15 13:13:14 -0700 | [diff] [blame] | 114 | MOCK_METHOD(int, sd_bus_slot_set_destroy_callback, |
| 115 | (sd_bus_slot*, sd_bus_destroy_t), (override)); |
| 116 | MOCK_METHOD(void*, sd_bus_slot_set_userdata, (sd_bus_slot*, void*), |
| 117 | (override)); |
| 118 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 119 | MOCK_METHOD2(sd_bus_process, int(sd_bus*, sd_bus_message**)); |
| 120 | MOCK_METHOD1(sd_bus_ref, sd_bus*(sd_bus*)); |
| 121 | MOCK_METHOD3(sd_bus_request_name, int(sd_bus*, const char*, uint64_t)); |
| 122 | MOCK_METHOD3(sd_bus_send, int(sd_bus*, sd_bus_message*, uint64_t*)); |
| 123 | MOCK_METHOD1(sd_bus_unref, sd_bus*(sd_bus*)); |
Brad Bishop | dfbff6f | 2018-12-05 19:46:20 -0500 | [diff] [blame] | 124 | MOCK_METHOD1(sd_bus_flush_close_unref, sd_bus*(sd_bus*)); |
William A. Kennington III | 42f6ad5 | 2018-12-19 17:32:30 -0800 | [diff] [blame] | 125 | MOCK_METHOD1(sd_bus_flush, int(sd_bus*)); |
| 126 | MOCK_METHOD1(sd_bus_close, void(sd_bus*)); |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 127 | MOCK_METHOD2(sd_bus_wait, int(sd_bus*, uint64_t)); |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 128 | }; |
| 129 | |
William A. Kennington III | e0d6965 | 2018-08-31 13:09:47 -0700 | [diff] [blame] | 130 | inline bus::bus get_mocked_new(SdBusMock* sdbus) |
Patrick Venture | ead7ea7 | 2018-04-16 11:38:16 -0700 | [diff] [blame] | 131 | { |
| 132 | using ::testing::IsNull; |
| 133 | using ::testing::Return; |
| 134 | |
| 135 | EXPECT_CALL(*sdbus, sd_bus_ref(IsNull())).WillRepeatedly(Return(nullptr)); |
| 136 | bus::bus bus_mock(nullptr, sdbus); |
| 137 | |
| 138 | return bus_mock; |
| 139 | } |
| 140 | |
Patrick Venture | dba73d7 | 2018-04-12 14:14:42 -0700 | [diff] [blame] | 141 | } // namespace sdbusplus |