summaryrefslogtreecommitdiff
path: root/chromium/net/dns/mock_mdns_client.h
blob: ff4374765b3427fb9e7963c55785c0445121dae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright 2018 The Chromium 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 NET_DNS_MOCK_MDNS_CLIENT_H_
#define NET_DNS_MOCK_MDNS_CLIENT_H_

#include <memory>
#include <string>

#include "net/dns/mdns_client.h"
#include "testing/gmock/include/gmock/gmock.h"

namespace net {

class MockMDnsTransaction : public MDnsTransaction {
 public:
  MockMDnsTransaction();
  ~MockMDnsTransaction();

  MOCK_METHOD0(Start, bool());
  MOCK_CONST_METHOD0(GetName, const std::string&());
  MOCK_CONST_METHOD0(GetType, uint16_t());
};

class MockMDnsClient : public MDnsClient {
 public:
  MockMDnsClient();
  ~MockMDnsClient();

  MOCK_METHOD3(CreateListener,
               std::unique_ptr<MDnsListener>(uint16_t,
                                             const std::string&,
                                             MDnsListener::Delegate*));
  MOCK_METHOD4(
      CreateTransaction,
      std::unique_ptr<MDnsTransaction>(uint16_t,
                                       const std::string&,
                                       int,
                                       const MDnsTransaction::ResultCallback&));
  MOCK_METHOD1(StartListening, int(MDnsSocketFactory*));
  MOCK_METHOD0(StopListening, void());
  MOCK_CONST_METHOD0(IsListening, bool());
};

}  // namespace net

#endif  // NET_DNS_MOCK_MDNS_CLIENT_H_