| // 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_ |