blob: 19171d090737f874a2f5ea71f94ea1c1e3ee3be9 [file] [log] [blame]
// 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_CHAPS_PROXY_MOCK_H
#define CHAPS_CHAPS_PROXY_MOCK_H
#include <string>
#include <vector>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "chaps/chaps_interface.h"
namespace chaps {
// defined in chaps.cc
extern void EnableMockProxy(ChapsInterface* proxy, bool is_initialized);
extern void DisableMockProxy();
// ChapsProxyMock is a mock of ChapsInterface
class ChapsProxyMock : public ChapsInterface {
public:
ChapsProxyMock(bool is_initialized);
virtual ~ChapsProxyMock();
MOCK_METHOD2(GetSlotList, uint32_t (bool, std::vector<uint64_t>*));
MOCK_METHOD8(GetSlotInfo, uint32_t (uint64_t,
std::vector<uint8_t>*,
std::vector<uint8_t>*,
uint64_t*,
uint8_t*, uint8_t*,
uint8_t*, uint8_t*));
virtual uint32_t GetTokenInfo(uint64_t slot_id,
std::vector<uint8_t>* label,
std::vector<uint8_t>* manufacturer_id,
std::vector<uint8_t>* model,
std::vector<uint8_t>* serial_number,
uint64_t* flags,
uint64_t* max_session_count,
uint64_t* session_count,
uint64_t* max_session_count_rw,
uint64_t* session_count_rw,
uint64_t* max_pin_len,
uint64_t* min_pin_len,
uint64_t* total_public_memory,
uint64_t* free_public_memory,
uint64_t* total_private_memory,
uint64_t* free_private_memory,
uint8_t* hardware_version_major,
uint8_t* hardware_version_minor,
uint8_t* firmware_version_major,
uint8_t* firmware_version_minor) {
*flags = 1;
return 0;
}
MOCK_METHOD2(GetMechanismList, uint32_t (uint64_t, std::vector<uint64_t>*));
MOCK_METHOD5(GetMechanismInfo, uint32_t (uint64_t, uint64_t, uint64_t*,
uint64_t*, uint64_t*));
MOCK_METHOD3(InitToken, uint32_t (uint64_t, const std::string*,
const std::vector<uint8_t>&));
MOCK_METHOD2(InitPIN, uint32_t (uint64_t, const std::string*));
MOCK_METHOD3(SetPIN, uint32_t (uint64_t, const std::string*,
const std::string*));
MOCK_METHOD3(OpenSession, uint32_t (uint64_t, uint64_t, uint64_t*));
MOCK_METHOD1(CloseSession, uint32_t (uint64_t));
MOCK_METHOD1(CloseAllSessions, uint32_t (uint64_t));
MOCK_METHOD5(GetSessionInfo, uint32_t (uint64_t, uint64_t*, uint64_t*,
uint64_t*, uint64_t*));
MOCK_METHOD2(GetOperationState, uint32_t (uint64_t, std::vector<uint8_t>*));
MOCK_METHOD4(SetOperationState, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t));
MOCK_METHOD3(Login, uint32_t (uint64_t, uint64_t, const std::string*));
MOCK_METHOD1(Logout, uint32_t (uint64_t));
MOCK_METHOD3(CreateObject, uint32_t (uint64_t, const std::vector<uint8_t>&,
uint64_t*));
MOCK_METHOD4(CopyObject, uint32_t (uint64_t, uint64_t,
const std::vector<uint8_t>&, uint64_t*));
MOCK_METHOD2(DestroyObject, uint32_t (uint64_t, uint64_t));
MOCK_METHOD3(GetObjectSize, uint32_t (uint64_t, uint64_t, uint64_t*));
MOCK_METHOD4(GetAttributeValue, uint32_t (uint64_t, uint64_t,
const std::vector<uint8_t>&,
std::vector<uint8_t>*));
MOCK_METHOD3(SetAttributeValue, uint32_t (uint64_t, uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD2(FindObjectsInit, uint32_t (uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD3(FindObjects, uint32_t (uint64_t, uint64_t,
std::vector<uint64_t>*));
MOCK_METHOD1(FindObjectsFinal, uint32_t (uint64_t));
MOCK_METHOD4(EncryptInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t key_handle));
MOCK_METHOD5(Encrypt, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(EncryptUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD4(EncryptFinal, uint32_t (uint64_t,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD4(DecryptInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t));
MOCK_METHOD5(Decrypt, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(DecryptUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD4(DecryptFinal, uint32_t (uint64_t,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD3(DigestInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD5(Digest, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD2(DigestUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD2(DigestKey, uint32_t (uint64_t,
uint64_t));
MOCK_METHOD4(DigestFinal, uint32_t (uint64_t,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD4(SignInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t));
MOCK_METHOD5(Sign, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD2(SignUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD4(SignFinal, uint32_t (uint64_t,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD4(SignRecoverInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t));
MOCK_METHOD5(SignRecover, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD4(VerifyInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t));
MOCK_METHOD3(Verify, uint32_t (uint64_t,
const std::vector<uint8_t>&,
const std::vector<uint8_t>&));
MOCK_METHOD2(VerifyUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD2(VerifyFinal, uint32_t (uint64_t,
const std::vector<uint8_t>&));
MOCK_METHOD4(VerifyRecoverInit, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t));
MOCK_METHOD5(VerifyRecover, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(DigestEncryptUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(DecryptDigestUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(SignEncryptUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(DecryptVerifyUpdate, uint32_t (uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD5(GenerateKey, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
const std::vector<uint8_t>&,
uint64_t*));
MOCK_METHOD7(GenerateKeyPair, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
const std::vector<uint8_t>&,
const std::vector<uint8_t>&,
uint64_t*,
uint64_t*));
MOCK_METHOD8(WrapKey, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t,
uint64_t,
uint64_t,
uint64_t*,
std::vector<uint8_t>*));
MOCK_METHOD7(UnwrapKey, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t,
const std::vector<uint8_t>&,
const std::vector<uint8_t>&,
uint64_t*));
MOCK_METHOD6(DeriveKey, uint32_t (uint64_t,
uint64_t,
const std::vector<uint8_t>&,
uint64_t,
const std::vector<uint8_t>&,
uint64_t*));
MOCK_METHOD2(SeedRandom, uint32_t (uint64_t, const std::vector<uint8_t>&));
MOCK_METHOD3(GenerateRandom, uint32_t (uint64_t,
uint64_t,
std::vector<uint8_t>*));
private:
DISALLOW_COPY_AND_ASSIGN(ChapsProxyMock);
};
} // namespace
#endif // CHAPS_CHAPS_PROXY_MOCK_H