| // Copyright (c) 2012 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. |
| |
| #ifndef CHAPS_SESSION_MOCK_H_ |
| #define CHAPS_SESSION_MOCK_H_ |
| |
| #include <string> |
| #include <vector> |
| |
| #include <gmock/gmock.h> |
| #include <gtest/gtest.h> |
| |
| #include "chaps/attributes.h" |
| #include "chaps/session.h" |
| #include "pkcs11/cryptoki.h" |
| |
| namespace chaps { |
| |
| class SessionMock : public Session { |
| public: |
| SessionMock(); |
| ~SessionMock() override; |
| |
| MOCK_CONST_METHOD0(GetSlot, int()); |
| MOCK_CONST_METHOD0(GetState, CK_STATE()); |
| MOCK_CONST_METHOD0(IsReadOnly, bool()); |
| MOCK_CONST_METHOD1(IsOperationActive, bool(OperationType)); |
| MOCK_METHOD3(CreateObject, CK_RV(const CK_ATTRIBUTE_PTR, int, int*)); |
| MOCK_METHOD4(CopyObject, CK_RV(const CK_ATTRIBUTE_PTR, int, int, int*)); |
| MOCK_METHOD1(DestroyObject, CK_RV(int)); |
| MOCK_METHOD2(GetObject, bool(int, const Object**)); |
| MOCK_METHOD2(GetModifiableObject, bool(int, Object**)); |
| MOCK_METHOD1(FlushModifiableObject, CK_RV(Object*)); |
| MOCK_METHOD2(FindObjectsInit, CK_RV(const CK_ATTRIBUTE_PTR, int)); |
| MOCK_METHOD2(FindObjects, CK_RV(int, std::vector<int>*)); |
| MOCK_METHOD0(FindObjectsFinal, CK_RV()); |
| MOCK_METHOD4(OperationInit, |
| CK_RV(OperationType, |
| CK_MECHANISM_TYPE, |
| const std::string&, |
| const Object*)); |
| MOCK_METHOD4(OperationUpdate, |
| CK_RV(OperationType, const std::string&, int*, std::string*)); |
| MOCK_METHOD3(OperationFinal, CK_RV(OperationType, int*, std::string*)); |
| MOCK_METHOD1(OperationCancel, void(OperationType)); |
| MOCK_METHOD1(VerifyFinal, CK_RV(const std::string&)); |
| MOCK_METHOD4(OperationSinglePart, |
| CK_RV(OperationType, const std::string&, int*, std::string*)); |
| MOCK_METHOD5(GenerateKey, |
| CK_RV(CK_MECHANISM_TYPE, |
| const std::string&, |
| const CK_ATTRIBUTE_PTR, |
| int, |
| int*)); |
| MOCK_METHOD8(GenerateKeyPair, |
| CK_RV(CK_MECHANISM_TYPE, |
| const std::string&, |
| const CK_ATTRIBUTE_PTR, |
| int, |
| const CK_ATTRIBUTE_PTR, |
| int, |
| int*, |
| int*)); |
| MOCK_METHOD1(SeedRandom, CK_RV(const std::string&)); |
| MOCK_METHOD2(GenerateRandom, CK_RV(int, std::string*)); |
| MOCK_METHOD0(IsPrivateLoaded, bool()); |
| |
| private: |
| DISALLOW_COPY_AND_ASSIGN(SessionMock); |
| }; |
| |
| } // namespace chaps |
| |
| #endif // CHAPS_SESSION_MOCK_H_ |