blob: ea611a4bc3654f4c96c6f1f3759e7c65f3ed4601 [file]
// Copyright 2023 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_NETWORK_MOCK_NETWORK_APPLIER_H_
#define PATCHPANEL_NETWORK_MOCK_NETWORK_APPLIER_H_
#include <string>
#include <utility>
#include <vector>
#include <gmock/gmock.h>
#include "patchpanel/network/network_applier.h"
namespace patchpanel {
class MockNetworkApplier : public NetworkApplier {
public:
MockNetworkApplier();
MockNetworkApplier(const MockNetworkApplier&) = delete;
MockNetworkApplier& operator=(const MockNetworkApplier&) = delete;
~MockNetworkApplier() override;
MOCK_METHOD(void, Start, (), (override));
MOCK_METHOD(void, ApplyMTU, (int, int), (override));
MOCK_METHOD(void,
ApplyRoute,
(int,
net_base::IPFamily,
const std::optional<net_base::IPAddress>&,
bool,
bool,
bool,
const std::vector<net_base::IPCIDR>&,
const std::vector<net_base::IPCIDR>&,
(const std::vector<
std::pair<net_base::IPv4CIDR, net_base::IPv4Address>>&)),
(override));
MOCK_METHOD(void,
ApplyRoutingPolicy,
(int interface_index,
const std::string& interface_name,
Technology technology,
net_base::NetworkPriority priority,
const std::vector<net_base::IPCIDR>& all_addresses,
const std::vector<net_base::IPv4CIDR>& rfc3442_dsts),
(override));
MOCK_METHOD(void,
ApplyDNS,
(net_base::NetworkPriority priority,
const std::vector<net_base::IPAddress>& dns_servers,
const std::vector<std::string>& dns_search_domains),
(override));
};
} // namespace patchpanel
#endif // PATCHPANEL_NETWORK_MOCK_NETWORK_APPLIER_H_