unit-tests: Additionally do reverse match checking with empty identities
This commit is contained in:
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");
|
||||
|
||||
Reference in New Issue
Block a user