| 6 | namespace ValdiTest { |
| 7 | |
| 8 | TEST(DataEncryptor, canEncryptAndDecrypt) { |
| 9 | auto key = DataEncryptor::generateKey(); |
| 10 | std::string_view dataToEncrypt = "Hello World!\n"; |
| 11 | |
| 12 | DataEncryptor encryptor(key); |
| 13 | |
| 14 | ByteBuffer encryptedBuffer; |
| 15 | |
| 16 | ASSERT_TRUE(encryptor.encrypt( |
| 17 | reinterpret_cast<const Byte*>(dataToEncrypt.data()), dataToEncrypt.length(), encryptedBuffer)); |
| 18 | |
| 19 | ASSERT_TRUE(encryptedBuffer.size() > dataToEncrypt.length()); |
| 20 | |
| 21 | ByteBuffer decryptedBuffer; |
| 22 | |
| 23 | ASSERT_TRUE(encryptor.decrypt(encryptedBuffer.data(), encryptedBuffer.size(), decryptedBuffer)); |
| 24 | |
| 25 | std::string_view decryptedData(reinterpret_cast<const char*>(decryptedBuffer.data()), decryptedBuffer.size()); |
| 26 | |
| 27 | ASSERT_EQ(dataToEncrypt, decryptedData); |
| 28 | } |
| 29 | |
| 30 | TEST(DataEncryptor, failsToDecryptWithInvalidIV) { |
| 31 | auto key = DataEncryptor::generateKey(); |