1#include "config.h" 2 3#include "ntp.h" 4 5#ifdef OPENSSL 6# include "openssl/err.h" 7# include "openssl/rand.h" 8# include "openssl/evp.h" 9#endif 10 11#include "unity.h" 12 13 14static const size_t TEST_MD5_DIGEST_LENGTH = 16; 15static const size_t TEST_SHA1_DIGEST_LENGTH = 20; 16 17void test_MD5KeyTypeWithoutDigestLength(void); 18void test_MD5KeyTypeWithDigestLength(void); 19void test_SHA1KeyTypeWithDigestLength(void); 20void test_MD5KeyName(void); 21void test_SHA1KeyName(void); 22 23 24// keytype_from_text() 25void 26test_MD5KeyTypeWithoutDigestLength(void) { 27 TEST_ASSERT_EQUAL(KEY_TYPE_MD5, keytype_from_text("MD5", NULL)); 28} 29 30void 31test_MD5KeyTypeWithDigestLength(void) { 32 size_t digestLength; 33 size_t expected = TEST_MD5_DIGEST_LENGTH; 34 35 TEST_ASSERT_EQUAL(KEY_TYPE_MD5, keytype_from_text("MD5", &digestLength)); 36 TEST_ASSERT_EQUAL(expected, digestLength); 37} 38 39 40void 41test_SHA1KeyTypeWithDigestLength(void) { 42#ifdef OPENSSL 43 size_t digestLength; 44 size_t expected = TEST_SHA1_DIGEST_LENGTH; 45 46 TEST_ASSERT_EQUAL(NID_sha1, keytype_from_text("SHA1", &digestLength)); 47 TEST_ASSERT_EQUAL(expected, digestLength); 48 /* OPENSSL */ 49#else 50 TEST_IGNORE_MESSAGE("Skipping because OPENSSL isn't defined"); 51#endif 52} 53 54 55// keytype_name() 56void 57test_MD5KeyName(void) { 58 TEST_ASSERT_EQUAL_STRING("MD5", keytype_name(KEY_TYPE_MD5)); 59} 60 61 62void 63test_SHA1KeyName(void) { 64#ifdef OPENSSL 65 TEST_ASSERT_EQUAL_STRING("SHA1", keytype_name(NID_sha1)); 66#else 67 TEST_IGNORE_MESSAGE("Skipping because OPENSSL isn't defined"); 68#endif /* OPENSSL */ 69} 70