#include #include #include #include "runtest.h" #include "token/cclass.h" #include "token/crypt.h" #define DATA "testdata to be encrypted" #define PASSWORD "1234" const char testname[] = "cryptTest"; CRYPT crypt = NULL; static int __setUp() { crypt = new(CRYPT, MCRYPT_RIJNDAEL_256, MCRYPT_CFB); ASSERT_INSTANCE_OF(CRYPT, crypt); return TEST_OK; } int (* const setUp)() = __setUp; static int __tearDown() { if (NULL != crypt) { ASSERT_OBJECT(crypt); delete(&crypt); } return TEST_OK; } int (* const tearDown)() = __tearDown; static int testEncryptDecryptCycle() { size_t length = strlen(DATA);; void * encrypted = crypt_encrypt(crypt, DATA, PASSWORD, &length); void * decrypted = crypt_decrypt(crypt, encrypted, PASSWORD, &length); ASSERT_NOT_NULL(encrypted); ASSERT_NOT_NULL(decrypted); ASSERT_MEM_EQUAL(DATA, decrypted, length); free(encrypted); free(decrypted); return TEST_OK; } static int testCryptDifference() { size_t length1, length2; void * encrypted1, * encrypted2; length1 = length2 = strlen(DATA); encrypted1 = crypt_encrypt(crypt, DATA, PASSWORD, &length1); encrypted2 = crypt_encrypt(crypt, DATA, PASSWORD, &length2); ASSERT_EQUAL(length1, length2); ASSERT_NOT_NULL(encrypted1); ASSERT_NOT_NULL(encrypted2); ASSERT_MEM_NOT_EQUAL(encrypted1, encrypted2, length1); free(encrypted1); free(encrypted2); return TEST_OK; } const testfunc tests[] = { testEncryptDecryptCycle, testCryptDifference }; const size_t count = FUNCS_COUNT(tests); // vim: set et ts=4 sw=4: