unit-tests: Additionally do reverse match checking with empty identities

This commit is contained in:
Martin Willi
2013-10-31 21:57:07 +01:00
committed by Andreas Steffen
parent e02b12e374
commit ed3eb62723
@@ -662,6 +662,60 @@ START_TEST(test_matches_empty)
}
END_TEST
static bool id_matches_rev(identification_t *a, char *b_str, id_match_t expected)
{
identification_t *b;
id_match_t match;
b = identification_create_from_string(b_str);
match = b->matches(b, a);
b->destroy(b);
return match == expected;
}
START_TEST(test_matches_empty_reverse)
{
identification_t *a;
a = identification_create_from_encoding(_i, chunk_empty);
switch (_i)
{
case ID_ANY:
ck_assert(id_matches_rev(a, "%any", ID_MATCH_ANY));
break;
case ID_IPV4_ADDR:
ck_assert(id_matches_rev(a, "192.168.1.1", ID_MATCH_NONE));
break;
case ID_FQDN:
ck_assert(id_matches_rev(a, "moon.strongswan.org", ID_MATCH_NONE));
break;
case ID_USER_FQDN:
ck_assert(id_matches_rev(a, "[email protected]", ID_MATCH_NONE));
break;
case ID_IPV6_ADDR:
ck_assert(id_matches_rev(a, "fec0::1", ID_MATCH_NONE));
break;
case ID_DER_ASN1_DN:
ck_assert(id_matches_rev(a, "C=CH, [email protected], CN=moon",
ID_MATCH_NONE));
break;
case ID_KEY_ID:
ck_assert(id_matches_rev(a, "@#12345678", ID_MATCH_NONE));
break;
case ID_DER_ASN1_GN:
case ID_IPV4_ADDR_SUBNET:
case ID_IPV6_ADDR_SUBNET:
case ID_IPV4_ADDR_RANGE:
case ID_IPV6_ADDR_RANGE:
/* currently not tested */
break;
}
a->destroy(a);
}
END_TEST
/*******************************************************************************
* identification part enumeration
*/
@@ -784,6 +838,7 @@ Suite *identification_suite_create()
tcase_add_test(tc, test_matches_binary);
tcase_add_test(tc, test_matches_string);
tcase_add_loop_test(tc, test_matches_empty, ID_ANY, ID_KEY_ID + 1);
tcase_add_loop_test(tc, test_matches_empty_reverse, ID_ANY, ID_KEY_ID + 1);
suite_add_tcase(s, tc);
tc = tcase_create("part enumeration");