1 // 2 // Copyright (C) 2012 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 #ifndef SHILL_MOCK_MANAGER_H_ 18 #define SHILL_MOCK_MANAGER_H_ 19 20 #include <string> 21 #include <vector> 22 23 #include <base/macros.h> 24 #include <gmock/gmock.h> 25 26 #include "shill/manager.h" 27 28 namespace shill { 29 30 class MockManager : public Manager { 31 public: 32 MockManager(ControlInterface* control_interface, 33 EventDispatcher* dispatcher, 34 Metrics* metrics); 35 ~MockManager() override; 36 37 MOCK_METHOD0(device_info, DeviceInfo*()); 38 MOCK_METHOD0(modem_info, ModemInfo*()); 39 #if !defined(DISABLE_WIRED_8021X) 40 MOCK_CONST_METHOD0(ethernet_eap_provider, EthernetEapProvider*()); 41 #endif // DISABLE_WIRED_8021X 42 MOCK_METHOD0(wimax_provider, WiMaxProvider*()); 43 MOCK_METHOD0(mutable_store, PropertyStore*()); 44 MOCK_CONST_METHOD0(store, const PropertyStore&()); 45 MOCK_CONST_METHOD0(run_path, const base::FilePath&()); 46 MOCK_METHOD0(Start, void()); 47 MOCK_METHOD0(Stop, void()); 48 MOCK_METHOD3(SetProfileForService, void(const ServiceRefPtr& to_set, 49 const std::string& profile, 50 Error* error)); 51 MOCK_METHOD1(RegisterDevice, void(const DeviceRefPtr& to_manage)); 52 MOCK_METHOD1(DeregisterDevice, void(const DeviceRefPtr& to_forget)); 53 MOCK_METHOD1(HasService, bool(const ServiceRefPtr& to_manage)); 54 MOCK_METHOD1(RegisterService, void(const ServiceRefPtr& to_manage)); 55 MOCK_METHOD1(UpdateService, void(const ServiceRefPtr& to_update)); 56 MOCK_METHOD1(DeregisterService, void(const ServiceRefPtr& to_forget)); 57 MOCK_METHOD1(RegisterDefaultServiceCallback, 58 int(const ServiceCallback& callback)); 59 MOCK_METHOD1(DeregisterDefaultServiceCallback, void(int tag)); 60 MOCK_METHOD1(UpdateDevice, void(const DeviceRefPtr& to_update)); 61 MOCK_METHOD0(UpdateWiFiProvider, void()); 62 MOCK_METHOD1(OnDeviceGeolocationInfoUpdated, 63 void(const DeviceRefPtr& device)); 64 MOCK_METHOD1(RecheckPortalOnService, void(const ServiceRefPtr& service)); 65 MOCK_METHOD2(HandleProfileEntryDeletion, 66 bool(const ProfileRefPtr& profile, 67 const std::string& entry_name)); 68 MOCK_CONST_METHOD0(GetDefaultService, ServiceRefPtr()); 69 MOCK_METHOD3(GetServiceWithStorageIdentifier, 70 ServiceRefPtr(const ProfileRefPtr& profile, 71 const std::string& entry_name, 72 Error* error)); 73 MOCK_METHOD3(CreateTemporaryServiceFromProfile, 74 ServiceRefPtr(const ProfileRefPtr& profile, 75 const std::string& entry_name, 76 Error* error)); 77 MOCK_CONST_METHOD0(IsConnected, bool()); 78 MOCK_METHOD0(UpdateEnabledTechnologies, void()); 79 MOCK_METHOD1(IsPortalDetectionEnabled, bool(Technology::Identifier tech)); 80 MOCK_CONST_METHOD1(IsServiceEphemeral, 81 bool(const ServiceConstRefPtr& service)); 82 MOCK_CONST_METHOD2(IsProfileBefore, 83 bool(const ProfileRefPtr& a, 84 const ProfileRefPtr& b)); 85 MOCK_CONST_METHOD1(IsTechnologyConnected, 86 bool(Technology::Identifier tech)); 87 MOCK_CONST_METHOD1(IsTechnologyLinkMonitorEnabled, 88 bool(Technology::Identifier tech)); 89 MOCK_CONST_METHOD1(IsTechnologyAutoConnectDisabled, 90 bool(Technology::Identifier tech)); 91 MOCK_CONST_METHOD1(IsDefaultProfile, bool(const StoreInterface* storage)); 92 MOCK_METHOD3(RequestScan, void(Device::ScanType request_origin, 93 const std::string& technology, Error* error)); 94 MOCK_CONST_METHOD0(GetPortalCheckURL, const std::string&()); 95 MOCK_CONST_METHOD0(GetPortalCheckInterval, int()); 96 MOCK_METHOD0(IsSuspending, bool()); 97 MOCK_CONST_METHOD1(GetEnabledDeviceWithTechnology, 98 DeviceRefPtr(Technology::Identifier technology)); 99 MOCK_CONST_METHOD1(GetEnabledDeviceByLinkName, 100 DeviceRefPtr(const std::string& link_name)); 101 MOCK_CONST_METHOD0(GetMinimumMTU, int()); 102 MOCK_CONST_METHOD1(ShouldAcceptHostnameFrom, 103 bool(const std::string& device_name)); 104 MOCK_CONST_METHOD1(IsDHCPv6EnabledForDevice, 105 bool(const std::string& device_name)); 106 MOCK_METHOD1(SetBlacklistedDevices, 107 void(const std::vector<std::string>& blacklisted_devices)); 108 MOCK_METHOD1(SetDHCPv6EnabledDevices, 109 void(const std::vector<std::string>& device_list)); 110 MOCK_METHOD2(SetTechnologyOrder, 111 void(const std::string& order, Error* error)); 112 MOCK_METHOD1(SetIgnoreUnknownEthernet, void(bool ignore)); 113 MOCK_METHOD1(SetStartupPortalList, void(const std::string& portal_list)); 114 MOCK_METHOD0(SetPassiveMode, void()); 115 MOCK_METHOD1(SetPrependDNSServers, 116 void(const std::string& prepend_dns_servers)); 117 MOCK_METHOD1(SetMinimumMTU, void(const int mtu)); 118 MOCK_METHOD1(SetAcceptHostnameFrom, void(const std::string& hostname_from)); 119 MOCK_CONST_METHOD0(ignore_unknown_ethernet, bool()); 120 MOCK_CONST_METHOD1(FilterPrependDNSServersByFamily, 121 std::vector<std::string>(IPAddress::Family family)); 122 MOCK_METHOD0(OnInnerDevicesChanged, void()); 123 MOCK_METHOD3(ClaimDevice, 124 void(const std::string& claimer_name, 125 const std::string& interface_name, Error* error)); 126 MOCK_METHOD4(ReleaseDevice, void(const std::string& claimer_name, 127 const std::string& interface_name, 128 bool* claimer_removed, Error* error)); 129 MOCK_METHOD0(OnDeviceClaimerVanished, void()); 130 #if !defined(DISABLE_WIFI) && defined(__BRILLO__) 131 MOCK_METHOD2(SetupApModeInterface, 132 bool(std::string* out_interface_name, Error* error)); 133 MOCK_METHOD2(SetupStationModeInterface, 134 bool(std::string* out_interface_name, Error* error)); 135 MOCK_METHOD0(OnApModeSetterVanished, void()); 136 #endif // !DISABLE_WIFI && __BRILLO__ 137 138 // Getter and setter for a mocked device info instance. mock_device_info()139 DeviceInfo* mock_device_info() { return mock_device_info_; } set_mock_device_info(DeviceInfo * mock_device_info)140 void set_mock_device_info(DeviceInfo* mock_device_info) { 141 mock_device_info_ = mock_device_info; 142 } 143 144 private: 145 DeviceInfo* mock_device_info_; 146 147 DISALLOW_COPY_AND_ASSIGN(MockManager); 148 }; 149 150 } // namespace shill 151 152 #endif // SHILL_MOCK_MANAGER_H_ 153