blob: 0a7cc2d139852a42a8624fbf3e989f5ca9aefe22 [file] [log] [blame]
//
// Copyright (C) 2012 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#ifndef SHILL_MOCK_MANAGER_H_
#define SHILL_MOCK_MANAGER_H_
#include <string>
#include <vector>
#include <base/macros.h>
#include <gmock/gmock.h>
#include "shill/manager.h"
namespace shill {
class MockManager : public Manager {
public:
MockManager(ControlInterface* control_interface,
EventDispatcher* dispatcher,
Metrics* metrics);
~MockManager() override;
MOCK_METHOD0(device_info, DeviceInfo*());
MOCK_METHOD0(modem_info, ModemInfo*());
#if !defined(DISABLE_WIRED_8021X)
MOCK_CONST_METHOD0(ethernet_eap_provider, EthernetEapProvider*());
#endif // DISABLE_WIRED_8021X
MOCK_METHOD0(wimax_provider, WiMaxProvider*());
MOCK_METHOD0(mutable_store, PropertyStore*());
MOCK_CONST_METHOD0(store, const PropertyStore&());
MOCK_CONST_METHOD0(run_path, const base::FilePath&());
MOCK_METHOD0(Start, void());
MOCK_METHOD0(Stop, void());
MOCK_METHOD3(SetProfileForService, void(const ServiceRefPtr& to_set,
const std::string& profile,
Error* error));
MOCK_METHOD1(RegisterDevice, void(const DeviceRefPtr& to_manage));
MOCK_METHOD1(DeregisterDevice, void(const DeviceRefPtr& to_forget));
MOCK_METHOD1(HasService, bool(const ServiceRefPtr& to_manage));
MOCK_METHOD1(RegisterService, void(const ServiceRefPtr& to_manage));
MOCK_METHOD1(UpdateService, void(const ServiceRefPtr& to_update));
MOCK_METHOD1(DeregisterService, void(const ServiceRefPtr& to_forget));
MOCK_METHOD1(RegisterDefaultServiceCallback,
int(const ServiceCallback& callback));
MOCK_METHOD1(DeregisterDefaultServiceCallback, void(int tag));
MOCK_METHOD1(UpdateDevice, void(const DeviceRefPtr& to_update));
MOCK_METHOD0(UpdateWiFiProvider, void());
MOCK_METHOD1(OnDeviceGeolocationInfoUpdated,
void(const DeviceRefPtr& device));
MOCK_METHOD1(RecheckPortalOnService, void(const ServiceRefPtr& service));
MOCK_METHOD2(HandleProfileEntryDeletion,
bool(const ProfileRefPtr& profile,
const std::string& entry_name));
MOCK_CONST_METHOD0(GetDefaultService, ServiceRefPtr());
MOCK_METHOD3(GetServiceWithStorageIdentifier,
ServiceRefPtr(const ProfileRefPtr& profile,
const std::string& entry_name,
Error* error));
MOCK_METHOD3(CreateTemporaryServiceFromProfile,
ServiceRefPtr(const ProfileRefPtr& profile,
const std::string& entry_name,
Error* error));
MOCK_CONST_METHOD0(IsConnected, bool());
MOCK_METHOD0(UpdateEnabledTechnologies, void());
MOCK_METHOD1(IsPortalDetectionEnabled, bool(Technology::Identifier tech));
MOCK_CONST_METHOD1(IsServiceEphemeral,
bool(const ServiceConstRefPtr& service));
MOCK_CONST_METHOD2(IsProfileBefore,
bool(const ProfileRefPtr& a,
const ProfileRefPtr& b));
MOCK_CONST_METHOD1(IsTechnologyConnected,
bool(Technology::Identifier tech));
MOCK_CONST_METHOD1(IsTechnologyLinkMonitorEnabled,
bool(Technology::Identifier tech));
MOCK_CONST_METHOD1(IsTechnologyAutoConnectDisabled,
bool(Technology::Identifier tech));
MOCK_METHOD2(RequestScan, void(const std::string& technology, Error* error));
MOCK_CONST_METHOD0(GetPortalCheckURL, const std::string&());
MOCK_CONST_METHOD0(GetPortalCheckInterval, int());
MOCK_METHOD0(IsSuspending, bool());
MOCK_CONST_METHOD1(GetEnabledDeviceWithTechnology,
DeviceRefPtr(Technology::Identifier technology));
MOCK_CONST_METHOD1(GetEnabledDeviceByLinkName,
DeviceRefPtr(const std::string& link_name));
MOCK_CONST_METHOD0(GetMinimumMTU, int());
MOCK_CONST_METHOD1(ShouldAcceptHostnameFrom,
bool(const std::string& device_name));
MOCK_CONST_METHOD1(IsDHCPv6EnabledForDevice,
bool(const std::string& device_name));
MOCK_METHOD1(SetBlacklistedDevices,
void(const std::vector<std::string>& blacklisted_devices));
MOCK_METHOD1(SetDHCPv6EnabledDevices,
void(const std::vector<std::string>& device_list));
MOCK_METHOD2(SetTechnologyOrder,
void(const std::string& order, Error* error));
MOCK_METHOD1(SetIgnoreUnknownEthernet, void(bool ignore));
MOCK_METHOD1(SetStartupPortalList, void(const std::string& portal_list));
MOCK_METHOD0(SetPassiveMode, void());
MOCK_METHOD1(SetPrependDNSServers,
void(const std::string& prepend_dns_servers));
MOCK_METHOD1(SetMinimumMTU, void(const int mtu));
MOCK_METHOD1(SetAcceptHostnameFrom, void(const std::string& hostname_from));
MOCK_CONST_METHOD0(ignore_unknown_ethernet, bool());
MOCK_CONST_METHOD1(FilterPrependDNSServersByFamily,
std::vector<std::string>(IPAddress::Family family));
MOCK_CONST_METHOD0(GetSuspendDurationUsecs, int64_t());
MOCK_METHOD0(OnInnerDevicesChanged, void());
MOCK_METHOD3(ClaimDevice,
void(const std::string& claimer_name,
const std::string& interface_name, Error* error));
MOCK_METHOD4(ReleaseDevice, void(const std::string& claimer_name,
const std::string& interface_name,
bool* claimer_removed, Error* error));
MOCK_METHOD0(OnDeviceClaimerVanished, void());
MOCK_METHOD0(GetDeviceInterfaceNames, std::vector<std::string>());
// Getter and setter for a mocked device info instance.
DeviceInfo* mock_device_info() { return mock_device_info_; }
void set_mock_device_info(DeviceInfo* mock_device_info) {
mock_device_info_ = mock_device_info;
}
private:
DeviceInfo* mock_device_info_;
DISALLOW_COPY_AND_ASSIGN(MockManager);
};
} // namespace shill
#endif // SHILL_MOCK_MANAGER_H_