blob: 98eafd6b2a0afb1317835ef5e48340f78a2b92fb [file] [log] [blame]
Thieu Le3426c8f2012-01-11 17:35:11 -08001// Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
Chris Masone626719f2011-08-18 16:58:48 -07002// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Wade Guthrie60a37062013-04-02 11:39:09 -07005#ifndef SHILL_MOCK_MANAGER_H_
6#define SHILL_MOCK_MANAGER_H_
Chris Masone626719f2011-08-18 16:58:48 -07007
Alex Vakulenko8a532292014-06-16 17:18:44 -07008#include <string>
9
Ben Chancc67c522014-09-03 07:19:18 -070010#include <base/macros.h>
Chris Masone626719f2011-08-18 16:58:48 -070011#include <gmock/gmock.h>
12
13#include "shill/manager.h"
14
15namespace shill {
16
Chris Masone626719f2011-08-18 16:58:48 -070017class MockManager : public Manager {
18 public:
19 MockManager(ControlInterface *control_interface,
20 EventDispatcher *dispatcher,
Thieu Le3426c8f2012-01-11 17:35:11 -080021 Metrics *metrics,
Darin Petkovef34f182011-08-26 14:14:40 -070022 GLib *glib);
Ben Chan5ea763b2014-08-13 11:07:54 -070023 ~MockManager() override;
Chris Masone626719f2011-08-18 16:58:48 -070024
Darin Petkovf7ef50a2012-04-16 20:54:31 +020025 MOCK_METHOD0(device_info, DeviceInfo *());
Paul Stewart8c116a92012-05-02 18:30:03 -070026 MOCK_METHOD0(modem_info, ModemInfo *());
Paul Stewart35eff132013-04-12 12:08:40 -070027 MOCK_CONST_METHOD0(ethernet_eap_provider, EthernetEapProvider *());
Darin Petkove4b27022012-05-16 13:28:50 +020028 MOCK_METHOD0(wimax_provider, WiMaxProvider *());
Darin Petkovf7ef50a2012-04-16 20:54:31 +020029 MOCK_METHOD0(mutable_store, PropertyStore *());
30 MOCK_CONST_METHOD0(store, const PropertyStore &());
Albert Chaulk0e1cdea2013-02-27 15:32:55 -080031 MOCK_CONST_METHOD0(run_path, const base::FilePath &());
Thieu Lefb46caf2012-03-08 11:57:15 -080032 MOCK_METHOD0(Start, void());
Thieu Le6c1e3bb2013-02-06 15:20:35 -080033 MOCK_METHOD0(Stop, void());
Paul Stewartad0e5982013-07-02 08:47:47 -070034 MOCK_METHOD3(SetProfileForService, void(const ServiceRefPtr &to_set,
35 const std::string &profile,
36 Error *error));
Paul Stewart8c116a92012-05-02 18:30:03 -070037 MOCK_METHOD1(RegisterDevice, void(const DeviceRefPtr &to_manage));
38 MOCK_METHOD1(DeregisterDevice, void(const DeviceRefPtr &to_forget));
mukesh agrawal4eb4d782011-12-05 17:34:37 +000039 MOCK_METHOD1(HasService, bool(const ServiceRefPtr &to_manage));
mukesh agrawal32399322011-09-01 10:53:43 -070040 MOCK_METHOD1(RegisterService, void(const ServiceRefPtr &to_manage));
mukesh agrawal00917ce2011-11-22 23:56:55 +000041 MOCK_METHOD1(UpdateService, void(const ServiceRefPtr &to_update));
Chris Masone6515aab2011-10-12 16:19:09 -070042 MOCK_METHOD1(DeregisterService, void(const ServiceRefPtr &to_forget));
Darin Petkova5e07ef2012-07-09 14:27:57 +020043 MOCK_METHOD1(RegisterDefaultServiceCallback,
44 int(const ServiceCallback &callback));
45 MOCK_METHOD1(DeregisterDefaultServiceCallback, void(int tag));
Darin Petkove7c6ad32012-06-29 10:22:09 +020046 MOCK_METHOD1(UpdateDevice, void(const DeviceRefPtr &to_update));
Wade Guthrie60a37062013-04-02 11:39:09 -070047 MOCK_METHOD0(UpdateWiFiProvider, void());
Paul Stewart7de7e022013-08-28 09:42:50 -070048 MOCK_METHOD1(OnDeviceGeolocationInfoUpdated,
49 void(const DeviceRefPtr &device));
Paul Stewartd215af62012-04-24 23:25:50 -070050 MOCK_METHOD1(RecheckPortalOnService, void(const ServiceRefPtr &service));
Paul Stewart75225512012-01-26 22:51:33 -080051 MOCK_METHOD2(HandleProfileEntryDeletion,
Wade Guthrie60a37062013-04-02 11:39:09 -070052 bool(const ProfileRefPtr &profile,
53 const std::string &entry_name));
Paul Stewarte2bad7c2012-03-14 08:55:33 -070054 MOCK_CONST_METHOD0(GetDefaultService, ServiceRefPtr());
Peter Qiu700de642014-07-14 16:31:30 -070055 MOCK_CONST_METHOD0(IsConnected, bool());
Eric Shienbrood9a245532012-03-07 14:20:39 -050056 MOCK_METHOD0(UpdateEnabledTechnologies, void());
Paul Stewart20088d82012-02-16 06:58:55 -080057 MOCK_METHOD1(IsPortalDetectionEnabled, bool(Technology::Identifier tech));
Paul Stewart10ccbb32012-04-26 15:59:30 -070058 MOCK_CONST_METHOD1(IsServiceEphemeral,
59 bool(const ServiceConstRefPtr &service));
Paul Stewart22ce7652014-10-15 21:26:44 -070060 MOCK_CONST_METHOD2(IsProfileBefore,
61 bool(const ProfileRefPtr &a,
62 const ProfileRefPtr &b));
Paul Stewart3c504012013-01-17 17:49:58 -080063 MOCK_CONST_METHOD1(IsTechnologyConnected,
64 bool(Technology::Identifier tech));
Paul Stewart036dba02012-08-07 12:34:41 -070065 MOCK_CONST_METHOD1(IsTechnologyLinkMonitorEnabled,
66 bool(Technology::Identifier tech));
Ben Chan8e6b8ef2014-07-14 21:50:18 -070067 MOCK_CONST_METHOD1(IsTechnologyAutoConnectDisabled,
68 bool(Technology::Identifier tech));
Paul Stewart85aea152013-01-22 09:31:56 -080069 MOCK_CONST_METHOD1(IsDefaultProfile, bool(const StoreInterface *storage));
Wade Guthrie68d41092013-04-02 12:56:02 -070070 MOCK_METHOD3(RequestScan, void(Device::ScanType request_origin,
71 const std::string &technology, Error *error));
Paul Stewart20088d82012-02-16 06:58:55 -080072 MOCK_CONST_METHOD0(GetPortalCheckURL, const std::string &());
Paul Stewartc681fa02012-03-02 19:40:04 -080073 MOCK_CONST_METHOD0(GetPortalCheckInterval, int());
Chris Masone626719f2011-08-18 16:58:48 -070074
Paul Stewartd4f26482014-04-25 19:12:03 -070075 // Getter and setter for a mocked device info instance.
76 DeviceInfo *mock_device_info() { return mock_device_info_; }
77 void set_mock_device_info(DeviceInfo *mock_device_info) {
78 mock_device_info_ = mock_device_info;
79 }
80
Chris Masone626719f2011-08-18 16:58:48 -070081 private:
Paul Stewartd4f26482014-04-25 19:12:03 -070082 DeviceInfo *mock_device_info_;
83
Chris Masone626719f2011-08-18 16:58:48 -070084 DISALLOW_COPY_AND_ASSIGN(MockManager);
85};
86
87} // namespace shill
88
Wade Guthrie60a37062013-04-02 11:39:09 -070089#endif // SHILL_MOCK_MANAGER_H_