blob: 4d4c14380b8da9ae0c701ed561656fdc81633955 [file] [log] [blame]
//
// Copyright (C) 2015 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
#include "tpm_manager/server/mock_tpm_status.h"
using testing::Invoke;
using testing::Return;
using testing::_;
namespace tpm_manager {
bool GetDefaultDictionaryAttackInfo(int* counter,
int* threshold,
bool* lockout,
int* seconds_remaining) {
*counter = 0;
*threshold = 10;
*lockout = false;
*seconds_remaining = 0;
return true;
}
bool GetDefaultVersionInfo(uint32_t* family,
uint64_t* spec_level,
uint32_t* manufacturer,
uint32_t* tpm_model,
uint64_t* firmware_version,
std::vector<uint8_t>* vendor_specific) {
*family = 0x312e3200;
*spec_level = (0ULL << 32) | 138;
*manufacturer = 0x90091;
*tpm_model = 0x1234;
*firmware_version = 0xdeadc0de;
*vendor_specific = { 0xda, 0x7a };
return true;
}
MockTpmStatus::MockTpmStatus() {
ON_CALL(*this, IsTpmEnabled()).WillByDefault(Return(true));
ON_CALL(*this, CheckAndNotifyIfTpmOwned())
.WillByDefault(Return(TpmStatus::kTpmOwned));
ON_CALL(*this, GetDictionaryAttackInfo(_, _, _, _))
.WillByDefault(Invoke(GetDefaultDictionaryAttackInfo));
ON_CALL(*this, GetVersionInfo(_, _, _, _, _, _))
.WillByDefault(Invoke(GetDefaultVersionInfo));
}
MockTpmStatus::~MockTpmStatus() {}
} // namespace tpm_manager