1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_ 6 #define CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "base/callback.h" 12 #include "chromeos/cryptohome/homedir_methods.h" 13 #include "testing/gmock/include/gmock/gmock.h" 14 15 namespace cryptohome { 16 17 class CHROMEOS_EXPORT MockHomedirMethods : public HomedirMethods { 18 public: 19 MockHomedirMethods(); 20 virtual ~MockHomedirMethods(); 21 22 void SetUp(bool success, MountError return_code); 23 24 MOCK_METHOD3(CheckKeyEx, 25 void(const Identification& id, 26 const Authorization& key, 27 const Callback& callback)); 28 MOCK_METHOD4(MountEx, 29 void(const Identification& id, 30 const Authorization& key, 31 const MountParameters& request, 32 const MountCallback& callback)); 33 MOCK_METHOD5(AddKeyEx, 34 void(const Identification& id, 35 const Authorization& auth, 36 const KeyDefinition& key, 37 bool clobber_if_exist, 38 const Callback& callback)); 39 MOCK_METHOD4(RemoveKeyEx, 40 void(const Identification& id, 41 const Authorization& auth, 42 const std::string& label, 43 const Callback& callback)); 44 MOCK_METHOD5(UpdateKeyEx, 45 void(const Identification& id, 46 const Authorization& auth, 47 const KeyDefinition& key, 48 const std::string& signature, 49 const Callback& callback)); 50 51 private: 52 bool success_; 53 MountError return_code_; 54 55 void DoCallback(const Callback& callback); 56 void DoMountCallback(const MountCallback& callback); 57 58 DISALLOW_COPY_AND_ASSIGN(MockHomedirMethods); 59 }; 60 61 } // namespace cryptohome 62 63 #endif // CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_ 64