blob: e8ff10cb5a0c0daa4cd74223d8205fd2353f5cbf [file] [log] [blame]
// Copyright (c) 2013 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_DBUS_FAKE_CRYPTOHOME_CLIENT_H_
#define CHROMEOS_DBUS_FAKE_CRYPTOHOME_CLIENT_H_
#include <string>
#include "chromeos/dbus/cryptohome_client.h"
namespace chromeos {
// A fake implementation of CryptohomeClient. This only calls callbacks given
// as parameters.
class FakeCryptohomeClient : public CryptohomeClient {
public:
FakeCryptohomeClient();
virtual ~FakeCryptohomeClient();
// CryptohomeClient overrides.
virtual void SetAsyncCallStatusHandlers(
const AsyncCallStatusHandler& handler,
const AsyncCallStatusWithDataHandler& data_handler) OVERRIDE;
virtual void ResetAsyncCallStatusHandlers() OVERRIDE;
virtual void IsMounted(const BoolDBusMethodCallback& callback) OVERRIDE;
virtual bool Unmount(bool* success) OVERRIDE;
virtual void AsyncCheckKey(const std::string& username,
const std::string& key,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncMigrateKey(const std::string& username,
const std::string& from_key,
const std::string& to_key,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncRemove(const std::string& username,
const AsyncMethodCallback& callback) OVERRIDE;
virtual bool GetSystemSalt(std::vector<uint8>* salt) OVERRIDE;
virtual void GetSanitizedUsername(
const std::string& username,
const StringDBusMethodCallback& callback) OVERRIDE;
virtual void AsyncMount(const std::string& username,
const std::string& key,
int flags,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncAddKey(const std::string& username,
const std::string& key,
const std::string& new_key,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncMountGuest(const AsyncMethodCallback& callback) OVERRIDE;
virtual void TpmIsReady(const BoolDBusMethodCallback& callback) OVERRIDE;
virtual void TpmIsEnabled(const BoolDBusMethodCallback& callback) OVERRIDE;
virtual bool CallTpmIsEnabledAndBlock(bool* enabled) OVERRIDE;
virtual void TpmGetPassword(
const StringDBusMethodCallback& callback) OVERRIDE;
virtual void TpmIsOwned(const BoolDBusMethodCallback& callback) OVERRIDE;
virtual bool CallTpmIsOwnedAndBlock(bool* owned) OVERRIDE;
virtual void TpmIsBeingOwned(const BoolDBusMethodCallback& callback) OVERRIDE;
virtual bool CallTpmIsBeingOwnedAndBlock(bool* owning) OVERRIDE;
virtual void TpmCanAttemptOwnership(
const VoidDBusMethodCallback& callback) OVERRIDE;
virtual void TpmClearStoredPassword(
const VoidDBusMethodCallback& callback) OVERRIDE;
virtual bool CallTpmClearStoredPasswordAndBlock() OVERRIDE;
virtual void Pkcs11IsTpmTokenReady(
const BoolDBusMethodCallback& callback) OVERRIDE;
virtual void Pkcs11GetTpmTokenInfo(
const Pkcs11GetTpmTokenInfoCallback& callback) OVERRIDE;
virtual bool InstallAttributesGet(const std::string& name,
std::vector<uint8>* value,
bool* successful) OVERRIDE;
virtual bool InstallAttributesSet(const std::string& name,
const std::vector<uint8>& value,
bool* successful) OVERRIDE;
virtual bool InstallAttributesFinalize(bool* successful) OVERRIDE;
virtual void InstallAttributesIsReady(
const BoolDBusMethodCallback& callback) OVERRIDE;
virtual bool InstallAttributesIsInvalid(bool* is_invalid) OVERRIDE;
virtual bool InstallAttributesIsFirstInstall(bool* is_first_install) OVERRIDE;
virtual void TpmAttestationIsPrepared(
const BoolDBusMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationIsEnrolled(
const BoolDBusMethodCallback& callback) OVERRIDE;
virtual void AsyncTpmAttestationCreateEnrollRequest(
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncTpmAttestationEnroll(
const std::string& pca_response,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncTpmAttestationCreateCertRequest(
int options,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void AsyncTpmAttestationFinishCertRequest(
const std::string& pca_response,
attestation::AttestationKeyType key_type,
const std::string& key_name,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationDoesKeyExist(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const BoolDBusMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationGetCertificate(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const DataMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationGetPublicKey(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const DataMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationRegisterKey(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationSignEnterpriseChallenge(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const std::string& domain,
const std::string& device_id,
attestation::AttestationChallengeOptions options,
const std::string& challenge,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationSignSimpleChallenge(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const std::string& challenge,
const AsyncMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationGetKeyPayload(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const DataMethodCallback& callback) OVERRIDE;
virtual void TpmAttestationSetKeyPayload(
attestation::AttestationKeyType key_type,
const std::string& key_name,
const std::string& payload,
const BoolDBusMethodCallback& callback) OVERRIDE;
// Sets the unmount result of Unmount() call. Unmount() always sets the result
// and pretends that the underlying method call succeeds.
void set_unmount_result(bool result) {
unmount_result_= result;
}
private:
AsyncCallStatusHandler handler_;
AsyncCallStatusWithDataHandler data_handler_;
bool unmount_result_;
DISALLOW_COPY_AND_ASSIGN(FakeCryptohomeClient);
};
} // namespace chromeos
#endif // CHROMEOS_DBUS_FAKE_CRYPTOHOME_CLIENT_H_