mock_crypto_utility.h revision 30a5bba00647d29e324111005deb76a0466f8c6b
130a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn// Copyright 2015 The Chromium OS Authors. All rights reserved.
230a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn// Use of this source code is governed by a BSD-style license that can be
330a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn// found in the LICENSE file.
430a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
530a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn#ifndef ATTESTATION_SERVER_MOCK_CRYPTO_UTILITY_H_
630a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn#define ATTESTATION_SERVER_MOCK_CRYPTO_UTILITY_H_
730a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
830a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn#include "attestation/server/crypto_utility.h"
930a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
1030a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn#include <string>
1130a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
1230a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn#include <gmock/gmock.h>
1330a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
1430a5bba00647d29e324111005deb76a0466f8c6bDarren Krahnnamespace attestation {
1530a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
1630a5bba00647d29e324111005deb76a0466f8c6bDarren Krahnclass MockCryptoUtility : public CryptoUtility {
1730a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn public:
1830a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn  MockCryptoUtility() = default;
1930a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn  ~MockCryptoUtility() override = default;
2030a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
2130a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn  MOCK_CONST_METHOD2(CreateSealedKey, bool(std::string* aes_key,
2230a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                           std::string* sealed_key));
2330a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
2430a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn  MOCK_CONST_METHOD4(EncryptData, bool(const std::string& data,
2530a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                       const std::string& aes_key,
2630a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                       const std::string& sealed_key,
2730a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                       std::string* encrypted_data));
2830a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
2930a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn  MOCK_CONST_METHOD3(UnsealKey, bool(const std::string& encrypted_data,
3030a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                     std::string* aes_key,
3130a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                     std::string* sealed_key));
3230a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
3330a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn  MOCK_CONST_METHOD3(DecryptData, bool(const std::string& encrypted_data,
3430a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                       const std::string& aes_key,
3530a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn                                       std::string* data));
3630a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn};
3730a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
3830a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn}  // namespace attestation
3930a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn
4030a5bba00647d29e324111005deb76a0466f8c6bDarren Krahn#endif  // ATTESTATION_SERVER_MOCK_CRYPTO_UTILITY_H_
41