1259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi//
2259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// Copyright (C) 2015 The Android Open Source Project
3259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi//
4259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// Licensed under the Apache License, Version 2.0 (the "License");
5259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// you may not use this file except in compliance with the License.
6259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// You may obtain a copy of the License at
7259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi//
8259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi//      http://www.apache.org/licenses/LICENSE-2.0
9259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi//
10259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// Unless required by applicable law or agreed to in writing, software
11259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// distributed under the License is distributed on an "AS IS" BASIS,
12259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// See the License for the specific language governing permissions and
14259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi// limitations under the License.
15259fa1be39c0a35ec374fe127ba49d1c5ed5eb18Utkarsh Sanghi//
1650e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghi
1721637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi#ifndef TPM_MANAGER_SERVER_MOCK_OPENSSL_CRYPT_UTIL_H_
1821637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi#define TPM_MANAGER_SERVER_MOCK_OPENSSL_CRYPT_UTIL_H_
1921637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi
2021637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi#include <gmock/gmock.h>
2150e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghi
2221637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi#include "tpm_manager/server/openssl_crypto_util.h"
2350e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghi
2450e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghinamespace tpm_manager {
2550e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghi
2621637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghiclass MockOpensslCryptoUtil : public OpensslCryptoUtil {
2721637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi public:
2821637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi  MockOpensslCryptoUtil();
2921637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi  ~MockOpensslCryptoUtil() override;
3021637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi
3121637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi  MOCK_METHOD2(GetRandomBytes, bool(size_t, std::string*));
3221637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi
3321637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi private:
3421637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi  bool FakeGetRandomBytes(size_t num_bytes, std::string* random_data);
3521637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi};
3650e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghi
3750e52ff6bcc478118a1cdec27903a5af5061d77bUtkarsh Sanghi}  // namespace tpm_manager
3821637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi
3921637105867fb6b59a0864811f40d73aff944c19Utkarsh Sanghi#endif  // TPM_MANAGER_SERVER_MOCK_OPENSSL_CRYPT_UTIL_H_
40