blob: 9d3a92f876fd5ceb528bafc93d6ff73d9f4de5b8 [file] [log] [blame] [edit]
// Copyright 2024 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef PATCHPANEL_MOCK_RTNL_CLIENT_H_
#define PATCHPANEL_MOCK_RTNL_CLIENT_H_
#include "patchpanel/rtnl_client.h"
#include <map>
#include <optional>
#include <chromeos/net-base/ipv4_address.h>
#include <chromeos/net-base/ipv6_address.h>
#include <chromeos/net-base/mac_address.h>
#include <gmock/gmock.h>
namespace patchpanel {
class MockRTNLClient : public RTNLClient {
public:
MockRTNLClient();
explicit MockRTNLClient(const MockRTNLClient&) = delete;
MockRTNLClient& operator=(const MockRTNLClient&) = delete;
virtual ~MockRTNLClient();
MOCK_METHOD((std::map<net_base::IPv4Address, net_base::MacAddress>),
GetIPv4NeighborMacTable,
(const std::optional<int>&),
(const, override));
MOCK_METHOD((std::map<net_base::IPv6Address, net_base::MacAddress>),
GetIPv6NeighborMacTable,
(const std::optional<int>&),
(const, override));
};
} // namespace patchpanel
#endif // PATCHPANEL_MOCK_RTNL_CLIENT_H_