blob: 7a217d82eb6a436f11e8225405f31251a08f7816 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_
#define CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_
#include <string>
#include "base/callback.h"
#include "base/component_export.h"
#include "base/macros.h"
#include "chromeos/cryptohome/homedir_methods.h"
#include "chromeos/dbus/cryptohome/rpc.pb.h"
#include "testing/gmock/include/gmock/gmock.h"
namespace cryptohome {
class COMPONENT_EXPORT(CHROMEOS_CRYPTOHOME) MockHomedirMethods
: public HomedirMethods {
public:
MockHomedirMethods();
~MockHomedirMethods() override;
void SetUp(bool success, MountError return_code);
MOCK_METHOD4(CheckKeyEx,
void(const Identification& id,
const AuthorizationRequest& auth,
const CheckKeyRequest& request,
const Callback& callback));
MOCK_METHOD4(AddKeyEx,
void(const Identification& id,
const AuthorizationRequest& auth,
const AddKeyRequest& request,
const Callback& callback));
MOCK_METHOD4(RemoveKeyEx,
void(const Identification& id,
const AuthorizationRequest& auth,
const RemoveKeyRequest& request,
const Callback& callback));
MOCK_METHOD4(UpdateKeyEx,
void(const Identification& id,
const AuthorizationRequest& auth,
const UpdateKeyRequest& request,
const Callback& callback));
void set_add_key_callback(const base::Closure& callback) {
on_add_key_called_ = callback;
}
private:
void DoCallback(const Callback& callback);
void DoAddKeyCallback(const Callback& callback);
bool success_ = false;
MountError return_code_ = MOUNT_ERROR_NONE;
base::Closure on_add_key_called_;
DISALLOW_COPY_AND_ASSIGN(MockHomedirMethods);
};
} // namespace cryptohome
#endif // CHROMEOS_CRYPTOHOME_MOCK_HOMEDIR_METHODS_H_