| // Copyright 2019 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_ASH_ATTESTATION_MOCK_TPM_CHALLENGE_KEY_H_ |
| #define CHROME_BROWSER_ASH_ATTESTATION_MOCK_TPM_CHALLENGE_KEY_H_ |
| |
| #include <string> |
| |
| #include "chrome/browser/ash/attestation/tpm_challenge_key.h" |
| #include "chromeos/ash/components/dbus/attestation/attestation_ca.pb.h" |
| #include "chromeos/ash/components/dbus/constants/attestation_constants.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| |
| namespace ash { |
| namespace attestation { |
| |
| class MockTpmChallengeKey : public TpmChallengeKey { |
| public: |
| MockTpmChallengeKey(); |
| ~MockTpmChallengeKey() override; |
| |
| void EnableFake(); |
| |
| void EnableFakeError(TpmChallengeKeyResultCode error_code); |
| |
| MOCK_METHOD(void, |
| BuildResponse, |
| (::attestation::VerifiedAccessFlow flow_type, |
| Profile* profile, |
| TpmChallengeKeyCallback callback, |
| const std::string& challenge, |
| bool register_key, |
| ::attestation::KeyType key_crypto_type, |
| const std::string& key_name_for_spkac, |
| const std::optional<std::string>& signals), |
| (override)); |
| |
| void FakeBuildResponseSuccess(TpmChallengeKeyCallback callback); |
| void FakeBuildResponseError(TpmChallengeKeyCallback callback, |
| TpmChallengeKeyResultCode error_code); |
| }; |
| |
| } // namespace attestation |
| } // namespace ash |
| |
| #endif // CHROME_BROWSER_ASH_ATTESTATION_MOCK_TPM_CHALLENGE_KEY_H_ |