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
|
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
|
* identification part enumeration
|
||||||
*/
|
*/
|
||||||
@@ -784,6 +838,7 @@ Suite *identification_suite_create()
|
|||||||
tcase_add_test(tc, test_matches_binary);
|
tcase_add_test(tc, test_matches_binary);
|
||||||
tcase_add_test(tc, test_matches_string);
|
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, 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);
|
suite_add_tcase(s, tc);
|
||||||
|
|
||||||
tc = tcase_create("part enumeration");
|
tc = tcase_create("part enumeration");
|
||||||
|
|||||||
Reference in New Issue
Block a user