blob: 8b69b14722bf667fd8b5814ad6e77f5b96a968a3 [file] [log] [blame] [edit]
// Copyright 2018 The ChromiumOS Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef SHILL_MOCK_MANAGER_H_
#define SHILL_MOCK_MANAGER_H_
#include <memory>
#include <string>
#include <utility>
#include <vector>
#include <gmock/gmock.h>
#include "shill/manager.h"
#include "shill/mock_device_info.h"
namespace shill {
class MockEthernetProvider;
class MockManager : public Manager {
public:
MockManager(ControlInterface* control_interface,
EventDispatcher* dispatcher,
Metrics* metrics);
MockManager(ControlInterface* control_interface,
EventDispatcher* dispatcher,
Metrics* metrics,
const std::string& run_directory,
const std::string& storage_directory,
const std::string& user_storage_directory);
MockManager(const MockManager&) = delete;
MockManager& operator=(const MockManager&) = delete;
~MockManager() override;
MOCK_METHOD(DeviceInfo*, device_info, (), (override));
MOCK_METHOD(ModemInfo*, modem_info, (), (override));
MOCK_METHOD(CellularServiceProvider*,
cellular_service_provider,
(),
(override));
MOCK_METHOD(EthernetProvider*, ethernet_provider, (), (override));
MOCK_METHOD(EthernetEapProvider*,
ethernet_eap_provider,
(),
(const, override));
MOCK_METHOD(const PropertyStore&, store, (), (const, override));
MOCK_METHOD(void, Start, (), (override));
MOCK_METHOD(void, Stop, (), (override));
MOCK_METHOD(void,
SetProfileForService,
(const ServiceRefPtr&, const std::string&, Error*),
(override));
MOCK_METHOD(bool,
MatchProfileWithService,
(const ServiceRefPtr&),
(override));
MOCK_METHOD(bool,
MoveServiceToProfile,
(const ServiceRefPtr&, const ProfileRefPtr& destination),
(override));
MOCK_METHOD(void, RegisterDevice, (const DeviceRefPtr&), (override));
MOCK_METHOD(void, DeregisterDevice, (const DeviceRefPtr&), (override));
MOCK_METHOD(bool, HasService, (const ServiceRefPtr&), (override));
MOCK_METHOD(void, RegisterService, (const ServiceRefPtr&), (override));
MOCK_METHOD(void, UpdateService, (const ServiceRefPtr&), (override));
MOCK_METHOD(void, DeregisterService, (const ServiceRefPtr&), (override));
MOCK_METHOD(void, UpdateDevice, (const DeviceRefPtr&), (override));
MOCK_METHOD(void,
OnDeviceGeolocationInfoUpdated,
(const DeviceRefPtr&),
(override));
MOCK_METHOD(void, RemoveService, (const ServiceRefPtr&), (override));
MOCK_METHOD(bool,
HandleProfileEntryDeletion,
(const ProfileRefPtr&, const std::string&),
(override));
MOCK_METHOD(ServiceRefPtr,
GetServiceWithStorageIdentifierFromProfile,
(const ProfileRefPtr&, const std::string&, Error*),
(override));
MOCK_METHOD(ServiceRefPtr,
CreateTemporaryServiceFromProfile,
(const ProfileRefPtr&, const std::string&, Error*),
(override));
MOCK_METHOD(bool, IsConnected, (), (const, override));
MOCK_METHOD(bool, IsOnline, (), (const, override));
MOCK_METHOD(void, UpdateEnabledTechnologies, (), (override));
MOCK_METHOD(bool, IsPortalDetectionEnabled, (Technology), (override));
MOCK_METHOD(bool,
IsServiceEphemeral,
(const ServiceConstRefPtr&),
(const, override));
MOCK_METHOD(bool,
IsProfileBefore,
(const ProfileRefPtr&, const ProfileRefPtr&),
(const, override));
MOCK_METHOD(bool, IsTechnologyConnected, (Technology), (const, override));
MOCK_METHOD(bool,
IsTechnologyAutoConnectDisabled,
(Technology),
(const, override));
MOCK_METHOD(void, RequestScan, (const std::string&, Error*), (override));
MOCK_METHOD(bool, IsSuspending, (), (override));
MOCK_METHOD(DeviceRefPtr,
GetEnabledDeviceWithTechnology,
(Technology),
(const, override));
MOCK_METHOD(ServiceRefPtr, GetFirstEthernetService, (), (override));
MOCK_METHOD(DeviceRefPtr,
FindDeviceFromService,
(const ServiceRefPtr&),
(const, override));
MOCK_METHOD(void, ConnectToBestWiFiService, (), (override));
MOCK_METHOD(void,
GenerateFirmwareDumpForTechnology,
(Technology),
(override));
MOCK_METHOD(const ManagerProperties&, GetProperties, (), (const, override));
MOCK_METHOD(std::vector<DeviceRefPtr>,
FilterByTechnology,
(Technology tech),
(const, override));
MOCK_METHOD(void, RefreshTetheringCapabilities, (), ());
MOCK_METHOD(void, TetheringStatusChanged, (), ());
MOCK_METHOD(DHCPProvider::Options,
CreateDefaultDHCPOption,
(),
(const, override));
MOCK_METHOD(Network*,
FindActiveNetworkFromService,
(const ServiceRefPtr&),
(const, override));
MOCK_METHOD(std::optional<std::string>,
GetCellularOperatorCountryCode,
(),
());
int64_t GetSuspendDurationUsecs() const override { return 1000000; }
// Getter and setter for a mocked device info instance.
MockDeviceInfo* mock_device_info() { return mock_device_info_.get(); }
void set_mock_device_info(std::unique_ptr<MockDeviceInfo> mock_device_info) {
mock_device_info_ = std::move(mock_device_info);
}
void set_wifi_provider(std::unique_ptr<WiFiProvider> provider);
private:
std::unique_ptr<MockDeviceInfo> mock_device_info_;
std::unique_ptr<MockEthernetProvider> mock_ethernet_provider_;
};
} // namespace shill
#endif // SHILL_MOCK_MANAGER_H_