diff --git a/GCryptLib/CMakeLists.txt b/GCryptLib/CMakeLists.txt index 07d8bc1..9143c25 100644 --- a/GCryptLib/CMakeLists.txt +++ b/GCryptLib/CMakeLists.txt @@ -29,6 +29,13 @@ target_include_directories(test PRIVATE include ) +## Move test images to build dir +ADD_CUSTOM_COMMAND( + TARGET ${PROJECT_NAME} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_SOURCE_DIR}/test/testAssets/ $/testAssets/ +) + ############## # Executable # diff --git a/GCryptLib/test/GCWrapper.cpp b/GCryptLib/test/GCWrapper.cpp index 1346e3b..7abf24e 100644 --- a/GCryptLib/test/GCWrapper.cpp +++ b/GCryptLib/test/GCWrapper.cpp @@ -26,52 +26,13 @@ TEST_CASE(__FILE__"/Encrypting and decrypting strings works", "[Wrapper]") { REQUIRE(plaintext == decrypted); } -/* -namespace SimpleTests -{ - TEST_CLASS(GCWrapper) - { - public: +// Tests that encrypting and decrypting files using the wrapper works. +// This test will start from scratch after encryption, to ensure EVERYTHING has to be re-calculated. +TEST_CASE(__FILE__"/Encrypting and decrypting files works", "[Wrapper]") { - // Tests that encrypting and decrypting strings using the wrapper works. - // This test will start from scratch after encryption, to ensure EVERYTHING has to be re-calculated. - TEST_METHOD(String) - { // Setup - const std::string plaintext = "Hello, World!"; - const std::string password = "Der Affe will Zucker"; + const std::string testfile_dir = "testAssets/"; - std::string ciphertext; - std::string decrypted; - - // Encryption - { - ciphertext = GhettoCryptWrapper::EncryptString(plaintext, password); - } - - // Decryption - { - decrypted = GhettoCryptWrapper::DecryptString(ciphertext, password); - } - - // Assertion - Assert::AreEqual( - plaintext, - decrypted - ); - } - - // Tests that encrypting and decrypting files using the wrapper works. - // This test will start from scratch after encryption, to ensure EVERYTHING has to be re-calculated. - TEST_METHOD(File) - { - // Setup - #if defined _WIN64 - const std::string testfile_dir = "../../SimpleTests/"; - #elif defined _WIN32 - const std::string testfile_dir = "../SimpleTests/"; - #endif - const std::string filename_plain = testfile_dir + "testfile.png"; const std::string filename_encrypted = testfile_dir + "testfile.png.crypt"; const std::string filename_decrypted = testfile_dir + "testfile.png.clear.png"; @@ -79,25 +40,19 @@ namespace SimpleTests // Encryption - { - GhettoCryptWrapper::EncryptFile(filename_plain, filename_encrypted, password); - } + GhettoCryptWrapper::EncryptFile(filename_plain, filename_encrypted, password); // Decryption - { - GhettoCryptWrapper::DecryptFile(filename_encrypted, filename_decrypted, password); - } + GhettoCryptWrapper::DecryptFile(filename_encrypted, filename_decrypted, password); // Read in both the base, and the decrypted file const Flexblock plainfile = ReadFileToBits(filename_plain); const Flexblock decryptfile = ReadFileToBits(filename_decrypted); // Assertion (If this fails, maybe check if the image is even readable by an image viewer) - Assert::AreEqual( - PadStringToLength(plainfile, decryptfile.length(), '0', false), + REQUIRE( + PadStringToLength(plainfile, decryptfile.length(), '0', false) == decryptfile ); - } - }; } -*/ + diff --git a/GCryptLib/test/testfile.png b/GCryptLib/test/testAssets/testfile.png similarity index 100% rename from GCryptLib/test/testfile.png rename to GCryptLib/test/testAssets/testfile.png