updated build system
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
Some checks failed
BlockStorage/repertory/pipeline/head There was a failure building this commit
This commit is contained in:
@ -19,7 +19,7 @@
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
#if defined(PROJECT_ENABLE_LIBSODIUM) && defined(PROJECT_ENABLE_BOOST)
|
||||
#if defined(PROJECT_ENABLE_LIBSODIUM)
|
||||
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
@ -27,8 +27,117 @@
|
||||
#include "utils/encryption.hpp"
|
||||
|
||||
namespace repertory {
|
||||
static const std::string token{"moose"};
|
||||
static const std::wstring token_w{L"moose"};
|
||||
|
||||
TEST(utils_encryption, generate_key) {
|
||||
auto key1 =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
EXPECT_STREQ(
|
||||
"182072537ada59e4d6b18034a80302ebae935f66adbdf0f271d3d36309c2d481",
|
||||
utils::collection::to_hex_string(key1).c_str());
|
||||
|
||||
auto key2 =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>("moose");
|
||||
auto key3 =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>("moose");
|
||||
EXPECT_EQ(key2, key3);
|
||||
|
||||
auto key4 =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>("moose2");
|
||||
EXPECT_NE(key2, key4);
|
||||
|
||||
auto key1_w =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token_w);
|
||||
EXPECT_NE(key1, key1_w);
|
||||
EXPECT_STREQ(
|
||||
L"590ac70125bec4501172937f6a2cbdeb22a87b5e40d5595eccd06b2b20548d8f",
|
||||
utils::collection::to_hex_wstring(key1_w).c_str());
|
||||
|
||||
auto key2_w =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(L"moose");
|
||||
auto key3_w =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(L"moose");
|
||||
EXPECT_EQ(key2_w, key3_w);
|
||||
EXPECT_NE(key2_w, key2);
|
||||
EXPECT_NE(key3_w, key3);
|
||||
|
||||
auto key4_w =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(L"moose2");
|
||||
EXPECT_NE(key2_w, key4_w);
|
||||
EXPECT_NE(key4_w, key4);
|
||||
}
|
||||
|
||||
TEST(utils_encryption, generate_key_default_hasher_is_sha256) {
|
||||
auto key1 =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
auto key2 = utils::encryption::generate_key<utils::encryption::hash_256_t>(
|
||||
token, [](auto &&data, auto &&size) -> auto {
|
||||
return utils::encryption::create_hash_sha256(
|
||||
std::string_view(reinterpret_cast<const char *>(data), size));
|
||||
});
|
||||
EXPECT_EQ(key1, key2);
|
||||
|
||||
auto key1_w =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token_w);
|
||||
auto key2_w = utils::encryption::generate_key<utils::encryption::hash_256_t>(
|
||||
token_w, [](auto &&data, auto &&size) -> auto {
|
||||
return utils::encryption::create_hash_sha256(std::wstring_view(
|
||||
reinterpret_cast<const wchar_t *>(data), size / sizeof(wchar_t)));
|
||||
});
|
||||
EXPECT_EQ(key1_w, key2_w);
|
||||
|
||||
EXPECT_NE(key1_w, key1);
|
||||
EXPECT_NE(key2_w, key2);
|
||||
}
|
||||
|
||||
TEST(utils_encryption, generate_key_with_hasher) {
|
||||
auto key1 = utils::encryption::generate_key<utils::encryption::hash_256_t>(
|
||||
token, [](auto &&data, auto &&size) -> auto {
|
||||
return utils::encryption::create_hash_sha256(
|
||||
std::string_view(reinterpret_cast<const char *>(data), size));
|
||||
});
|
||||
EXPECT_STREQ(
|
||||
"182072537ada59e4d6b18034a80302ebae935f66adbdf0f271d3d36309c2d481",
|
||||
utils::collection::to_hex_string(key1).c_str());
|
||||
|
||||
auto key2 = utils::encryption::generate_key<utils::encryption::hash_256_t>(
|
||||
token, [](auto &&data, auto &&size) -> auto {
|
||||
return utils::encryption::create_hash_blake2b_256(
|
||||
std::string_view(reinterpret_cast<const char *>(data), size));
|
||||
});
|
||||
EXPECT_NE(key1, key2);
|
||||
|
||||
EXPECT_STREQ(
|
||||
"ab4a0b004e824962913f7c0f79582b6ec7a3b8726426ca61d1a0a28ce5049e96",
|
||||
utils::collection::to_hex_string(key2).c_str());
|
||||
|
||||
auto key1_w = utils::encryption::generate_key<utils::encryption::hash_256_t>(
|
||||
token_w, [](auto &&data, auto &&size) -> auto {
|
||||
return utils::encryption::create_hash_sha256(std::wstring_view(
|
||||
reinterpret_cast<const wchar_t *>(data), size / sizeof(wchar_t)));
|
||||
});
|
||||
EXPECT_STREQ(
|
||||
L"590ac70125bec4501172937f6a2cbdeb22a87b5e40d5595eccd06b2b20548d8f",
|
||||
utils::collection::to_hex_wstring(key1_w).c_str());
|
||||
|
||||
auto key2_w = utils::encryption::generate_key<utils::encryption::hash_256_t>(
|
||||
token_w, [](auto &&data, auto &&size) -> auto {
|
||||
return utils::encryption::create_hash_blake2b_256(std::wstring_view(
|
||||
reinterpret_cast<const wchar_t *>(data), size / sizeof(wchar_t)));
|
||||
});
|
||||
EXPECT_NE(key1_w, key2_w);
|
||||
|
||||
EXPECT_STREQ(
|
||||
L"0392d95ed3eee9772fbb9af68fedf829a8eb0adbe8575d9691cc9a752196766a",
|
||||
utils::collection::to_hex_wstring(key2_w).c_str());
|
||||
|
||||
EXPECT_NE(key1_w, key1);
|
||||
EXPECT_NE(key2_w, key2);
|
||||
}
|
||||
|
||||
#if defined(PROJECT_ENABLE_BOOST)
|
||||
static const std::string buffer = "cow moose dog chicken";
|
||||
static const std::string token = "moose";
|
||||
|
||||
static void test_encrypted_result(const data_buffer &result) {
|
||||
EXPECT_EQ(buffer.size() + utils::encryption::encryption_header_size,
|
||||
@ -39,14 +148,6 @@ static void test_encrypted_result(const data_buffer &result) {
|
||||
EXPECT_STREQ(buffer.c_str(), data.c_str());
|
||||
}
|
||||
|
||||
TEST(utils_encryption, generate_key) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto str = utils::collection::to_hex_string(key);
|
||||
EXPECT_STREQ(
|
||||
"182072537ada59e4d6b18034a80302ebae935f66adbdf0f271d3d36309c2d481",
|
||||
str.c_str());
|
||||
}
|
||||
|
||||
TEST(utils_encryption, encrypt_data_buffer) {
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(token, buffer, result);
|
||||
@ -54,7 +155,8 @@ TEST(utils_encryption, encrypt_data_buffer) {
|
||||
}
|
||||
|
||||
TEST(utils_encryption, encrypt_data_buffer_with_key) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto key =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(key, buffer, result);
|
||||
test_encrypted_result(result);
|
||||
@ -69,7 +171,8 @@ TEST(utils_encryption, encrypt_data_pointer) {
|
||||
}
|
||||
|
||||
TEST(utils_encryption, encrypt_data_pointer_with_key) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto key =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(
|
||||
key, reinterpret_cast<const unsigned char *>(buffer.data()),
|
||||
@ -78,7 +181,8 @@ TEST(utils_encryption, encrypt_data_pointer_with_key) {
|
||||
}
|
||||
|
||||
TEST(utils_encryption, decrypt_data_pointer) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto key =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(
|
||||
key, reinterpret_cast<const unsigned char *>(buffer.data()),
|
||||
@ -93,7 +197,8 @@ TEST(utils_encryption, decrypt_data_pointer) {
|
||||
}
|
||||
|
||||
TEST(utils_encryption, decrypt_data_buffer_with_key) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto key =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(
|
||||
key, reinterpret_cast<const unsigned char *>(buffer.data()),
|
||||
@ -107,7 +212,8 @@ TEST(utils_encryption, decrypt_data_buffer_with_key) {
|
||||
}
|
||||
|
||||
TEST(utils_encryption, decrypt_data_pointer_with_key) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto key =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(
|
||||
key, reinterpret_cast<const unsigned char *>(buffer.data()),
|
||||
@ -122,7 +228,8 @@ TEST(utils_encryption, decrypt_data_pointer_with_key) {
|
||||
}
|
||||
|
||||
TEST(utils_encryption, decryption_failure) {
|
||||
const auto key = utils::encryption::generate_key(token);
|
||||
const auto key =
|
||||
utils::encryption::generate_key<utils::encryption::hash_256_t>(token);
|
||||
data_buffer result;
|
||||
utils::encryption::encrypt_data(
|
||||
key, reinterpret_cast<const unsigned char *>(buffer.data()),
|
||||
@ -134,6 +241,7 @@ TEST(utils_encryption, decryption_failure) {
|
||||
std::string data;
|
||||
EXPECT_FALSE(utils::encryption::decrypt_data(key, result, data));
|
||||
}
|
||||
#endif // defined(PROJECT_ENABLE_BOOST)
|
||||
} // namespace repertory
|
||||
|
||||
#endif // defined(PROJECT_ENABLE_LIBSODIUM) && defined(PROJECT_ENABLE_BOOST)
|
||||
#endif // defined(PROJECT_ENABLE_LIBSODIUM)
|
||||
|
Reference in New Issue
Block a user