Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chromeos / cryptohome / mock_homedir_methods.cc
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