blob: 005a9d644da6e3b1cad7c4437346bbd17426df08 [file] [log] [blame]
Thieu Lecaef8932012-02-28 16:06:59 -08001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Paul Stewartdd60e452011-08-08 11:38:36 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef SHILL_MOCK_ROUTING_TABLE_H_
6#define SHILL_MOCK_ROUTING_TABLE_H_
7
Ben Chancc67c522014-09-03 07:19:18 -07008#include <base/macros.h>
Paul Stewartdd60e452011-08-08 11:38:36 -07009#include <gmock/gmock.h>
10
11#include "shill/routing_table.h"
12
13namespace shill {
14
15class MockRoutingTable : public RoutingTable {
16 public:
Darin Petkoveac68e62011-08-26 16:24:51 -070017 MockRoutingTable();
Ben Chan5ea763b2014-08-13 11:07:54 -070018 ~MockRoutingTable() override;
Darin Petkoveac68e62011-08-26 16:24:51 -070019
Paul Stewartdd60e452011-08-08 11:38:36 -070020 MOCK_METHOD0(Start, void());
21 MOCK_METHOD0(Stop, void());
22 MOCK_METHOD2(AddRoute, bool(int interface_index,
Paul Stewart1e006c62015-06-16 12:29:06 -070023 const RoutingTableEntry& entry));
Paul Stewartdd60e452011-08-08 11:38:36 -070024 MOCK_METHOD3(GetDefaultRoute, bool(int interface_index,
25 IPAddress::Family family,
Paul Stewart1e006c62015-06-16 12:29:06 -070026 RoutingTableEntry* entry));
Prabhu Kaliamoorthi762bfb82015-02-06 13:17:08 +010027 MOCK_METHOD4(SetDefaultRoute, bool(int interface_index,
Paul Stewart1e006c62015-06-16 12:29:06 -070028 const IPAddress& gateway_address,
Prabhu Kaliamoorthi762bfb82015-02-06 13:17:08 +010029 uint32_t metric,
30 uint8_t table));
31 MOCK_METHOD4(ConfigureRoutes, bool(int interface_index,
Paul Stewart1e006c62015-06-16 12:29:06 -070032 const IPConfigRefPtr& ipconfig,
Prabhu Kaliamoorthi762bfb82015-02-06 13:17:08 +010033 uint32_t metric,
34 uint8_t table));
35 MOCK_METHOD4(CreateBlackholeRoute, bool(int interface_index,
Ben Chana6bfe872012-09-26 09:48:34 -070036 IPAddress::Family family,
Prabhu Kaliamoorthi762bfb82015-02-06 13:17:08 +010037 uint32_t metric,
38 uint8_t table));
39 MOCK_METHOD4(CreateLinkRoute, bool(int interface_index,
Paul Stewart1e006c62015-06-16 12:29:06 -070040 const IPAddress& local_address,
41 const IPAddress& remote_address,
Prabhu Kaliamoorthi762bfb82015-02-06 13:17:08 +010042 uint8_t table));
Thieu Lefb46caf2012-03-08 11:57:15 -080043 MOCK_METHOD1(FlushRoutes, void(int interface_index));
Paul Stewarte93b0382012-04-24 13:11:28 -070044 MOCK_METHOD1(FlushRoutesWithTag, void(int tag));
Paul Stewartc8f4bef2011-12-13 09:45:51 -080045 MOCK_METHOD0(FlushCache, bool());
Paul Stewartdd60e452011-08-08 11:38:36 -070046 MOCK_METHOD1(ResetTable, void(int interface_index));
Ben Chan7fab8972014-08-10 17:14:46 -070047 MOCK_METHOD2(SetDefaultMetric, void(int interface_index, uint32_t metric));
Paul Stewart1e006c62015-06-16 12:29:06 -070048 MOCK_METHOD5(RequestRouteToHost, bool(const IPAddress& addresss,
Paul Stewarte93b0382012-04-24 13:11:28 -070049 int interface_index,
Darin Petkovabf6d282012-05-08 15:49:05 +020050 int tag,
Paul Stewart1e006c62015-06-16 12:29:06 -070051 const Query::Callback& callback,
Prabhu Kaliamoorthi762bfb82015-02-06 13:17:08 +010052 uint8_t table));
Darin Petkoveac68e62011-08-26 16:24:51 -070053
54 private:
55 DISALLOW_COPY_AND_ASSIGN(MockRoutingTable);
Paul Stewartdd60e452011-08-08 11:38:36 -070056};
57
58} // namespace shill
59
60#endif // SHILL_MOCK_ROUTING_TABLE_H_