| // Copyright (c) 2012 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SHILL_MOCK_SERVICE_H_ |
| #define SHILL_MOCK_SERVICE_H_ |
| |
| #include <string> |
| |
| #include <base/memory/ref_counted.h> |
| #include <gmock/gmock.h> |
| |
| #include "shill/connection.h" |
| #include "shill/refptr_types.h" |
| #include "shill/service.h" |
| #include "shill/technology.h" |
| |
| namespace shill { |
| |
| class MockService : public Service { |
| public: |
| // A constructor for the Service object |
| MockService(ControlInterface *control_interface, |
| EventDispatcher *dispatcher, |
| Metrics *metrics, |
| Manager *manager); |
| ~MockService() override; |
| |
| MOCK_METHOD0(AutoConnect, void()); |
| MOCK_METHOD2(Connect, void(Error *error, const char *reason)); |
| MOCK_METHOD2(Disconnect, void(Error *error, const char *reason)); |
| MOCK_METHOD3(DisconnectWithFailure, void(Service::ConnectFailure failure, |
| Error *error, |
| const char *reason)); |
| MOCK_METHOD1(UserInitiatedDisconnect, void(Error *error)); |
| MOCK_METHOD1(CalculateState, std::string(Error *error)); |
| MOCK_CONST_METHOD0(state, ConnectState()); |
| MOCK_METHOD1(SetState, void(ConnectState state)); |
| MOCK_METHOD2(SetPortalDetectionFailure, void(const std::string &phase, |
| const std::string &status)); |
| MOCK_CONST_METHOD0(IsConnected, bool()); |
| MOCK_CONST_METHOD0(IsConnecting, bool()); |
| MOCK_CONST_METHOD1(IsDependentOn, bool(const ServiceRefPtr &b)); |
| MOCK_CONST_METHOD0(IsFailed, bool()); |
| MOCK_CONST_METHOD0(IsOnline, bool()); |
| MOCK_CONST_METHOD0(IsVisible, bool()); |
| MOCK_METHOD1(SetFailure, void(ConnectFailure failure)); |
| MOCK_CONST_METHOD0(failure, ConnectFailure()); |
| MOCK_CONST_METHOD1(GetDeviceRpcId, std::string(Error *error)); |
| MOCK_CONST_METHOD0(GetRpcIdentifier, std::string()); |
| MOCK_CONST_METHOD0(GetStorageIdentifier, std::string()); |
| MOCK_CONST_METHOD1(GetLoadableStorageIdentifier, |
| std::string(const StoreInterface &store_interface)); |
| MOCK_METHOD1(Load, bool(StoreInterface *store_interface)); |
| MOCK_METHOD0(Unload, bool()); |
| MOCK_METHOD1(Save, bool(StoreInterface *store_interface)); |
| MOCK_METHOD0(SaveToCurrentProfile, void()); |
| MOCK_METHOD2(Configure, void(const KeyValueStore &args, Error *error)); |
| MOCK_CONST_METHOD1(DoPropertiesMatch, bool(const KeyValueStore &args)); |
| MOCK_CONST_METHOD0(Is8021xConnectable, bool()); |
| MOCK_CONST_METHOD0(IsPortalDetectionDisabled, bool()); |
| MOCK_CONST_METHOD0(IsPortalDetectionAuto, bool()); |
| MOCK_CONST_METHOD0(IsRemembered, bool()); |
| MOCK_CONST_METHOD0(HasProxyConfig, bool()); |
| MOCK_METHOD1(SetConnection, void(const ConnectionRefPtr &connection)); |
| MOCK_CONST_METHOD0(connection, const ConnectionRefPtr &()); |
| MOCK_CONST_METHOD0(explicitly_disconnected, bool()); |
| MOCK_CONST_METHOD0(eap, const EapCredentials *()); |
| MOCK_CONST_METHOD0(technology, Technology::Identifier()); |
| MOCK_METHOD1(OnPropertyChanged, void(const std::string &property)); |
| MOCK_METHOD0(ClearExplicitlyDisconnected, void()); |
| MOCK_CONST_METHOD0(is_dns_auto_fallback_allowed, bool()); |
| MOCK_METHOD0(NotifyIPConfigChanges, void()); |
| |
| // Set a string for this Service via |store|. Can be wired to Save() for |
| // test purposes. |
| bool FauxSave(StoreInterface *store); |
| // Sets the connection reference returned by default when connection() |
| // is called. |
| void set_mock_connection(const ConnectionRefPtr &connection) { |
| mock_connection_ = connection; |
| } |
| const std::string &friendly_name() const { return Service::friendly_name(); } |
| |
| private: |
| ConnectionRefPtr mock_connection_; |
| DISALLOW_COPY_AND_ASSIGN(MockService); |
| }; |
| |
| } // namespace shill |
| |
| #endif // SHILL_MOCK_SERVICE_H_ |