• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
MockHomedirMethods()18 MockHomedirMethods::MockHomedirMethods()
19     : success_(false), return_code_(cryptohome::MOUNT_ERROR_NONE) {}
20 
~MockHomedirMethods()21 MockHomedirMethods::~MockHomedirMethods() {}
22 
SetUp(bool success,MountError return_code)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 
DoCallback(const Callback & callback)40 void MockHomedirMethods::DoCallback(const Callback& callback) {
41   callback.Run(success_, return_code_);
42 }
43 
DoGetDataCallback(const GetKeyDataCallback & callback)44 void MockHomedirMethods::DoGetDataCallback(const GetKeyDataCallback& callback) {
45   callback.Run(success_, return_code_, std::vector<KeyDefinition>());
46 }
47 
DoMountCallback(const MountCallback & callback)48 void MockHomedirMethods::DoMountCallback(const MountCallback& callback) {
49   callback.Run(
50       success_, return_code_, MockAsyncMethodCaller::kFakeSanitizedUsername);
51 }
52 
53 }  // namespace cryptohome
54