blob: 3aaa8d3bd50597694b76d615071e13aa65aa31e5 [file] [log] [blame]
Paul Stewartc2350ee2011-10-19 12:28:40 -07001// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
2// 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_ARES_H_
6#define SHILL_MOCK_ARES_H_
7
Ben Chancc67c522014-09-03 07:19:18 -07008#include <base/macros.h>
Paul Stewartc2350ee2011-10-19 12:28:40 -07009#include <gmock/gmock.h>
10
11#include "shill/shill_ares.h"
12
13namespace shill {
14
15class MockAres : public Ares {
16 public:
17 MockAres();
Ben Chan5ea763b2014-08-13 11:07:54 -070018 ~MockAres() override;
Paul Stewartc2350ee2011-10-19 12:28:40 -070019
20 MOCK_METHOD1(Destroy, void(ares_channel channel));
21 MOCK_METHOD5(GetHostByName, void(ares_channel channel,
Paul Stewart1e006c62015-06-16 12:29:06 -070022 const char* hostname,
Paul Stewartc2350ee2011-10-19 12:28:40 -070023 int family,
24 ares_host_callback callback,
Paul Stewart1e006c62015-06-16 12:29:06 -070025 void* arg));
Paul Stewartc2350ee2011-10-19 12:28:40 -070026 MOCK_METHOD3(GetSock, int(ares_channel channel,
Paul Stewart1e006c62015-06-16 12:29:06 -070027 ares_socket_t* socks,
Paul Stewartc2350ee2011-10-19 12:28:40 -070028 int numsocks));
Paul Stewart1e006c62015-06-16 12:29:06 -070029 MOCK_METHOD3(InitOptions, int(ares_channel* channelptr,
30 struct ares_options* options,
Paul Stewartc2350ee2011-10-19 12:28:40 -070031 int optmask));
32 MOCK_METHOD3(ProcessFd, void(ares_channel channel,
33 ares_socket_t read_fd,
34 ares_socket_t write_fd));
35 MOCK_METHOD2(SetLocalDev, void(ares_channel channel,
Paul Stewart1e006c62015-06-16 12:29:06 -070036 const char* local_dev_name));
37 MOCK_METHOD3(Timeout, struct timeval* (ares_channel channel,
38 struct timeval* maxtv,
39 struct timeval* tv));
Peter Qiuf3a8f902014-08-20 10:05:42 -070040 MOCK_METHOD2(SetServersCsv, int(ares_channel channel,
Paul Stewart1e006c62015-06-16 12:29:06 -070041 const char* servers));
Paul Stewartc2350ee2011-10-19 12:28:40 -070042
43 private:
44 DISALLOW_COPY_AND_ASSIGN(MockAres);
45};
46
47} // namespace shill
48
49#endif // SHILL_MOCK_ARES_H_