blob: e38d572651741427fc22c26ca105f294c35c5e14 [file] [log] [blame]
// Copyright 2019 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SHILL_MOCK_ROUTING_TABLE_H_
#define SHILL_MOCK_ROUTING_TABLE_H_
#include <base/macros.h>
#include <gmock/gmock.h>
#include "shill/routing_table.h"
namespace shill {
class MockRoutingTable : public RoutingTable {
public:
MockRoutingTable();
MockRoutingTable(const MockRoutingTable&) = delete;
MockRoutingTable& operator=(const MockRoutingTable&) = delete;
~MockRoutingTable() override;
MOCK_METHOD(void, Start, (), (override));
MOCK_METHOD(void, Stop, (), (override));
MOCK_METHOD(bool, AddRoute, (int, const RoutingTableEntry&), (override));
MOCK_METHOD(bool,
GetDefaultRoute,
(int, IPAddress::Family, RoutingTableEntry*),
(override));
MOCK_METHOD(bool,
SetDefaultRoute,
(int, const IPAddress&, uint32_t, uint32_t),
(override));
MOCK_METHOD(bool,
CreateBlackholeRoute,
(int, IPAddress::Family, uint32_t, uint32_t),
(override));
MOCK_METHOD(bool,
CreateLinkRoute,
(int, const IPAddress&, const IPAddress&, uint32_t),
(override));
MOCK_METHOD(void, FlushRoutes, (int), (override));
MOCK_METHOD(void, FlushRoutesWithTag, (int), (override));
MOCK_METHOD(bool, FlushCache, (), (override));
MOCK_METHOD(void, ResetTable, (int), (override));
MOCK_METHOD(void, SetDefaultMetric, (int, uint32_t), (override));
MOCK_METHOD(bool,
RequestRouteToHost,
(const IPAddress&, int, int, const QueryCallback&, uint32_t),
(override));
MOCK_METHOD(uint32_t, RequestAdditionalTableId, (), (override));
MOCK_METHOD(void, FreeAdditionalTableId, (uint32_t), (override));
MOCK_METHOD(bool, AddRule, (int, const RoutingPolicyEntry&), (override));
MOCK_METHOD(void, FlushRules, (int), (override));
};
} // namespace shill
#endif // SHILL_MOCK_ROUTING_TABLE_H_