blob: f751f97256593defbdc898e701b08bfb663d9b57 [file] [log] [blame]
// Copyright 2015 The Weave 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 LIBWEAVE_INCLUDE_WEAVE_TEST_MOCK_DEVICE_H_
#define LIBWEAVE_INCLUDE_WEAVE_TEST_MOCK_DEVICE_H_
#include <weave/device.h>
#include <string>
#include <gmock/gmock.h>
namespace weave {
namespace test {
class MockDevice : public Device {
public:
~MockDevice() override = default;
MOCK_CONST_METHOD0(GetSettings, const Settings&());
MOCK_METHOD1(AddSettingsChangedCallback,
void(const SettingsChangedCallback& callback));
MOCK_METHOD1(AddCommandDefinitionsFromJson, void(const std::string&));
MOCK_METHOD1(AddCommandDefinitions, void(const base::DictionaryValue&));
MOCK_METHOD2(AddCommandHandler,
void(const std::string&, const CommandHandlerCallback&));
MOCK_METHOD3(AddCommand,
bool(const base::DictionaryValue&, std::string*, ErrorPtr*));
MOCK_METHOD1(FindCommand, Command*(const std::string&));
MOCK_METHOD1(AddStateChangedCallback, void(const base::Closure& callback));
MOCK_METHOD1(AddStateDefinitionsFromJson, void(const std::string&));
MOCK_METHOD1(AddStateDefinitions, void(const base::DictionaryValue&));
MOCK_METHOD2(SetStatePropertiesFromJson, bool(const std::string&, ErrorPtr*));
MOCK_METHOD2(SetStateProperties,
bool(const base::DictionaryValue&, ErrorPtr*));
MOCK_CONST_METHOD1(MockGetStateProperty,
base::Value*(const std::string& name));
MOCK_METHOD3(SetStateProperty,
bool(const std::string& name,
const base::Value& value,
ErrorPtr* error));
MOCK_CONST_METHOD0(MockGetState, base::DictionaryValue*());
MOCK_CONST_METHOD0(GetGcdState, GcdState());
MOCK_METHOD1(AddGcdStateChangedCallback,
void(const GcdStateChangedCallback& callback));
MOCK_METHOD2(Register,
void(const std::string& ticket_id,
const DoneCallback& callback));
MOCK_METHOD2(AddPairingChangedCallbacks,
void(const PairingBeginCallback& begin_callback,
const PairingEndCallback& end_callback));
// Gmock 1.7.0 does not work with unuque_ptr as return value.
std::unique_ptr<base::Value> GetStateProperty(
const std::string& name) const override {
return std::unique_ptr<base::Value>(MockGetStateProperty(name));
}
std::unique_ptr<base::DictionaryValue> GetState() const override {
return std::unique_ptr<base::DictionaryValue>(MockGetState());
}
};
} // namespace test
} // namespace weave
#endif // LIBWEAVE_INCLUDE_WEAVE_TEST_MOCK_DEVICE_H_