| // Copyright 2015 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. |
| |
| #include "tpm_manager/server/mock_tpm_status.h" |
| |
| using testing::_; |
| using testing::Invoke; |
| using testing::Return; |
| using testing::SetArgPointee; |
| |
| namespace tpm_manager { |
| |
| bool GetDefaultDictionaryAttackInfo(uint32_t* counter, |
| uint32_t* threshold, |
| bool* lockout, |
| uint32_t* 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, GetTpmOwned(_)) |
| .WillByDefault( |
| DoAll(SetArgPointee<0>(TpmStatus::kTpmOwned), Return(true))); |
| |
| ON_CALL(*this, GetDictionaryAttackInfo(_, _, _, _)) |
| .WillByDefault(Invoke(GetDefaultDictionaryAttackInfo)); |
| ON_CALL(*this, GetVersionInfo(_, _, _, _, _, _)) |
| .WillByDefault(Invoke(GetDefaultVersionInfo)); |
| } |
| MockTpmStatus::~MockTpmStatus() {} |
| |
| } // namespace tpm_manager |