#include "client_test_helpers.h"
#include "sa.h"
#include "sa_key_common.h"
#include "gtest/gtest.h"
using namespace client_test_helpers;
namespace {
TEST_F(SaKeyGenerateTest, failsSymInvalidKeyLength15) {
auto key = create_uninitialized_sa_key();
ASSERT_NE(key, nullptr);
sa_rights rights;
sa_rights_set_allow_all(&rights);
sa_generate_parameters_symmetric parameters = {15};
sa_status const status = sa_key_generate(key.get(), &rights, SA_KEY_TYPE_SYMMETRIC, ¶meters);
ASSERT_EQ(status, SA_STATUS_INVALID_PARAMETER);
}
TEST_F(SaKeyGenerateTest, failsSymInvalidKeyLength513) {
auto key = create_uninitialized_sa_key();
ASSERT_NE(key, nullptr);
sa_rights rights;
sa_rights_set_allow_all(&rights);
sa_generate_parameters_symmetric parameters = {513};
sa_status const status = sa_key_generate(key.get(), &rights, SA_KEY_TYPE_SYMMETRIC, ¶meters);
ASSERT_EQ(status, SA_STATUS_INVALID_PARAMETER);
}
TEST_F(SaKeyGenerateTest, failsSymNullParameters) {
auto key = create_uninitialized_sa_key();
ASSERT_NE(key, nullptr);
sa_rights rights;
sa_rights_set_allow_all(&rights);
sa_status const status = sa_key_generate(key.get(), &rights, SA_KEY_TYPE_SYMMETRIC, nullptr);
ASSERT_EQ(status, SA_STATUS_NULL_PARAMETER);
}
}