From aca8ab9b61e1480270019817a539812432405363 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Thu, 17 Nov 2011 08:29:25 +0100 Subject: [PATCH] add tests form crypt class @TODO: add assertion on length --- tests/cryptTest.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 tests/cryptTest.c diff --git a/tests/cryptTest.c b/tests/cryptTest.c new file mode 100644 index 0000000..0cd2be6 --- /dev/null +++ b/tests/cryptTest.c @@ -0,0 +1,81 @@ +#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"; +struct CRYPT * crypt = NULL; + + +static +void +__setUp() +{ + crypt = new(CRYPT, MCRYPT_RIJNDAEL_256, MCRYPT_CFB); +} +void (* const setUp)() = __setUp; + +static +void +__tearDown() +{ + delete(&crypt); +} +void (* 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: