// Copyright 2014 The Chromium 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 CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_ #define CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_ #include #include "base/callback.h" #include "base/macros.h" #include "chromeos/cryptohome/homedir_methods.h" #include "testing/gmock/include/gmock/gmock.h" namespace cryptohome { class CHROMEOS_EXPORT MockHomedirMethods : public HomedirMethods { public: MockHomedirMethods(); virtual ~MockHomedirMethods(); void SetUp(bool success, MountError return_code); MOCK_METHOD3(GetKeyDataEx, void(const Identification& id, const std::string& label, const GetKeyDataCallback& callback)); MOCK_METHOD3(CheckKeyEx, void(const Identification& id, const Authorization& key, const Callback& callback)); MOCK_METHOD4(MountEx, void(const Identification& id, const Authorization& key, const MountParameters& request, const MountCallback& callback)); MOCK_METHOD5(AddKeyEx, void(const Identification& id, const Authorization& auth, const KeyDefinition& key, bool clobber_if_exist, const Callback& callback)); MOCK_METHOD4(RemoveKeyEx, void(const Identification& id, const Authorization& auth, const std::string& label, const Callback& callback)); MOCK_METHOD5(UpdateKeyEx, void(const Identification& id, const Authorization& auth, const KeyDefinition& key, const std::string& signature, const Callback& callback)); MOCK_METHOD3(RenameCryptohome, void(const Identification& id_from, const Identification& id_to, const Callback& callback)); private: bool success_; MountError return_code_; void DoCallback(const Callback& callback); void DoGetDataCallback(const GetKeyDataCallback& callback); void DoMountCallback(const MountCallback& callback); DISALLOW_COPY_AND_ASSIGN(MockHomedirMethods); }; } // namespace cryptohome #endif // CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_