mock_wifi_manager.h revision 46d4c2bc3267f3f028f39e7e311b0f89aba2e4fd
1// Copyright 2014 The Chromium 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 CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_MOCK_WIFI_MANAGER_H_
6#define CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_MOCK_WIFI_MANAGER_H_
7
8#include "base/observer_list.h"
9#include "chrome/browser/local_discovery/wifi/wifi_manager.h"
10#include "testing/gmock/include/gmock/gmock.h"
11
12namespace local_discovery {
13
14namespace wifi {
15
16class MockWifiManager : public WifiManager {
17 public:
18  MockWifiManager();
19  ~MockWifiManager();
20
21  MOCK_METHOD0(Start, void());
22
23  virtual void GetSSIDList(const SSIDListCallback& callback) OVERRIDE;
24
25  MOCK_METHOD0(GetSSIDListInternal, void());
26
27  void CallSSIDListCallback(const std::vector<NetworkProperties>& networks);
28
29  MOCK_METHOD0(RequestScan, void());
30
31  virtual void ConfigureAndConnectNetwork(
32      const std::string& ssid,
33      const WifiCredentials& credentials,
34      const SuccessCallback& callback) OVERRIDE;
35
36  MOCK_METHOD2(ConfigureAndConnectNetworkInternal,
37               void(const std::string& ssid, const std::string& password));
38
39  void CallConfigureAndConnectNetworkCallback(bool success);
40
41  virtual void ConnectToNetworkByID(const std::string& internal_id,
42                                    const SuccessCallback& callback) OVERRIDE;
43
44  MOCK_METHOD1(ConnectToNetworkByIDInternal,
45               void(const std::string& internal_id));
46
47  void CallConnectToNetworkByIDCallback(bool success);
48
49  virtual void RequestNetworkCredentials(
50      const std::string& internal_id,
51      const CredentialsCallback& callback) OVERRIDE;
52
53  MOCK_METHOD1(RequestNetworkCredentialsInternal,
54               void(const std::string& internal_id));
55
56  void CallRequestNetworkCredentialsCallback(bool success,
57                                             const std::string& ssid,
58                                             const std::string& password);
59
60  void AddNetworkListObserver(NetworkListObserver* observer);
61
62  void RemoveNetworkListObserver(NetworkListObserver* observer);
63
64  void CallNetworkListObservers(const std::vector<NetworkProperties>& ssids);
65
66 private:
67  SSIDListCallback ssid_list_callback_;
68  SuccessCallback configure_and_connect_network_callback_;
69  SuccessCallback connect_by_id_callback_;
70  CredentialsCallback credentials_callback_;
71  ObserverList<NetworkListObserver> network_observers_;
72
73  base::WeakPtrFactory<MockWifiManager> weak_factory_;
74};
75
76class MockWifiManagerFactory : public WifiManagerFactory {
77 public:
78  MockWifiManagerFactory();
79  virtual ~MockWifiManagerFactory();
80
81  virtual scoped_ptr<WifiManager> CreateWifiManager() OVERRIDE;
82
83  MockWifiManager* GetLastCreatedWifiManager();
84
85 private:
86  MockWifiManager* last_created_manager_;
87};
88
89}  // namespace wifi
90
91}  // namespace local_discovery
92
93#endif  // CHROME_BROWSER_LOCAL_DISCOVERY_WIFI_MOCK_WIFI_MANAGER_H_
94