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 #include "chromeos/cryptohome/mock_homedir_methods.h" 6 7 #include <vector> 8 9 #include "chromeos/cryptohome/cryptohome_parameters.h" 10 #include "chromeos/cryptohome/mock_async_method_caller.h" 11 12 using ::testing::Invoke; 13 using ::testing::WithArgs; 14 using ::testing::_; 15 16 namespace cryptohome { 17 18 MockHomedirMethods::MockHomedirMethods() 19 : success_(false), return_code_(cryptohome::MOUNT_ERROR_NONE) {} 20 21 MockHomedirMethods::~MockHomedirMethods() {} 22 23 void MockHomedirMethods::SetUp(bool success, MountError return_code) { 24 success_ = success; 25 return_code_ = return_code; 26 ON_CALL(*this, GetKeyDataEx(_, _, _)).WillByDefault( 27 WithArgs<2>(Invoke(this, &MockHomedirMethods::DoGetDataCallback))); 28 ON_CALL(*this, CheckKeyEx(_, _, _)).WillByDefault( 29 WithArgs<2>(Invoke(this, &MockHomedirMethods::DoCallback))); 30 ON_CALL(*this, MountEx(_, _, _, _)).WillByDefault( 31 WithArgs<3>(Invoke(this, &MockHomedirMethods::DoMountCallback))); 32 ON_CALL(*this, AddKeyEx(_, _, _, _, _)).WillByDefault( 33 WithArgs<4>(Invoke(this, &MockHomedirMethods::DoCallback))); 34 ON_CALL(*this, UpdateKeyEx(_, _, _, _, _)).WillByDefault( 35 WithArgs<4>(Invoke(this, &MockHomedirMethods::DoCallback))); 36 ON_CALL(*this, RemoveKeyEx(_, _, _, _)).WillByDefault( 37 WithArgs<3>(Invoke(this, &MockHomedirMethods::DoCallback))); 38 } 39 40 void MockHomedirMethods::DoCallback(const Callback& callback) { 41 callback.Run(success_, return_code_); 42 } 43 44 void MockHomedirMethods::DoGetDataCallback(const GetKeyDataCallback& callback) { 45 callback.Run(success_, return_code_, std::vector<KeyDefinition>()); 46 } 47 48 void MockHomedirMethods::DoMountCallback(const MountCallback& callback) { 49 callback.Run( 50 success_, return_code_, MockAsyncMethodCaller::kFakeSanitizedUsername); 51 } 52 53 } // namespace cryptohome 54