#ifndef SA_PROCESS_COMMON_ENCRYPTION_H
#define SA_PROCESS_COMMON_ENCRYPTION_H
#include "sa.h"
#include "sa_crypto_cipher_common.h"
#include "test_process_common_encryption.h"
#include "gtest/gtest.h"
#include <memory>
#include <vector>
typedef std::tuple<std::tuple<size_t, int64_t>, size_t, size_t, size_t, sa_cipher_algorithm,
std::tuple<sa_buffer_type, sa_buffer_type>> SaProcessCommonEncryptionType;
class SaProcessCommonEncryptionBase : public ProcessCommonEncryptionBase {
protected:
sa_status svp_buffer_write(
sa_svp_buffer out,
const void* in,
size_t in_length) override;
~SaProcessCommonEncryptionBase() = default;
};
class SaProcessCommonEncryptionTest : public ::testing::TestWithParam<SaProcessCommonEncryptionType>,
public SaProcessCommonEncryptionBase, public SaCipherCryptoBase {
protected:
void SetUp() override;
};
class SaProcessCommonEncryptionNegativeTest : public ::testing::Test, public SaProcessCommonEncryptionBase,
public SaCipherCryptoBase {};
class SaProcessCommonEncryptionAlternativeTest : public ::testing::Test, public SaProcessCommonEncryptionBase,
public SaCipherCryptoBase {};
#endif