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.
5 #include "chromeos/cryptohome/mock_homedir_methods.h"
9 #include "chromeos/cryptohome/cryptohome_parameters.h"
10 #include "chromeos/cryptohome/mock_async_method_caller.h"
12 using ::testing::Invoke
;
13 using ::testing::WithArgs
;
16 namespace cryptohome
{
18 MockHomedirMethods::MockHomedirMethods()
19 : success_(false), return_code_(cryptohome::MOUNT_ERROR_NONE
) {}
21 MockHomedirMethods::~MockHomedirMethods() {}
23 void MockHomedirMethods::SetUp(bool success
, MountError return_code
) {
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
)));
40 void MockHomedirMethods::DoCallback(const Callback
& callback
) {
41 callback
.Run(success_
, return_code_
);
44 void MockHomedirMethods::DoGetDataCallback(const GetKeyDataCallback
& callback
) {
45 callback
.Run(success_
, return_code_
, std::vector
<KeyDefinition
>());
48 void MockHomedirMethods::DoMountCallback(const MountCallback
& callback
) {
50 success_
, return_code_
, MockAsyncMethodCaller::kFakeSanitizedUsername
);
53 } // namespace cryptohome