blob: 0025d5f901d40867e98b565b76eeaa6a7c87953d [file] [log] [blame]
// Copyright (c) 2013 The Chromium OS 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 CRYPTOHOME_MOCK_ATTESTATION_H_
#define CRYPTOHOME_MOCK_ATTESTATION_H_
#include "cryptohome/attestation.h"
#include <memory>
#include <string>
#include <brillo/secure_blob.h>
#include <gmock/gmock.h>
namespace cryptohome {
class Platform;
class MockAttestation : public Attestation {
public:
MockAttestation(): Attestation() { }
virtual ~MockAttestation() {}
MOCK_METHOD7(Initialize, void(Tpm*,
TpmInit*,
Platform*,
Crypto*,
InstallAttributes*,
const brillo::SecureBlob&,
bool));
MOCK_METHOD0(IsPreparedForEnrollment, bool());
MOCK_METHOD0(IsEnrolled, bool());
MOCK_METHOD0(PrepareForEnrollment, void());
MOCK_METHOD0(CacheEndorsementData, void());
MOCK_METHOD0(PrepareForEnrollmentAsync, void());
MOCK_METHOD1(Verify, bool(bool));
MOCK_METHOD1(VerifyEK, bool(bool));
MOCK_METHOD2(CreateEnrollRequest, bool(Attestation::PCAType,
brillo::SecureBlob*));
MOCK_METHOD2(Enroll, bool(Attestation::PCAType,
const brillo::SecureBlob&));
MOCK_METHOD5(CreateCertRequest, bool(Attestation::PCAType,
CertificateProfile,
const std::string&,
const std::string&,
brillo::SecureBlob*));
MOCK_METHOD5(FinishCertRequest, bool(const brillo::SecureBlob&,
bool,
const std::string&,
const std::string&,
brillo::SecureBlob*));
MOCK_METHOD4(GetCertificateChain, bool(bool,
const std::string&,
const std::string&,
brillo::SecureBlob*));
MOCK_METHOD4(GetPublicKey, bool(bool,
const std::string&,
const std::string&,
brillo::SecureBlob*));
MOCK_METHOD3(DoesKeyExist, bool(bool,
const std::string&,
const std::string&));
MOCK_METHOD8(SignEnterpriseChallenge, bool(bool,
const std::string&,
const std::string&,
const std::string&,
const brillo::SecureBlob&,
bool,
const brillo::SecureBlob&,
brillo::SecureBlob*));
MOCK_METHOD5(SignSimpleChallenge, bool(bool,
const std::string&,
const std::string&,
const brillo::SecureBlob&,
brillo::SecureBlob*));
MOCK_METHOD4(RegisterKey, bool(bool,
const std::string&,
const std::string&,
bool));
MOCK_METHOD4(GetKeyPayload, bool(bool,
const std::string&,
const std::string&,
brillo::SecureBlob*));
MOCK_METHOD4(SetKeyPayload, bool(bool,
const std::string&,
const std::string&,
const brillo::SecureBlob&));
MOCK_METHOD3(DeleteKeysByPrefix, bool(bool,
const std::string&,
const std::string&));
MOCK_METHOD1(GetEKInfo, bool(std::string*));
MOCK_METHOD2(GetIdentityResetRequest, bool(const std::string&,
brillo::SecureBlob*));
MOCK_METHOD1(set_database_path, void(const char*));
MOCK_METHOD1(set_enterprise_test_key, void(RSA*)); // NOLINT "unnamed" param.
MOCK_METHOD0(ThreadMain, void());
MOCK_METHOD0(OnFinalized, void());
MOCK_METHOD3(GetDelegateCredentials, bool(brillo::SecureBlob*,
brillo::SecureBlob*,
bool*));
};
} // namespace cryptohome
#endif // CRYPTOHOME_MOCK_ATTESTATION_H_