aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon-tkm/tests/kernel_sad_tests.c
diff options
context:
space:
mode:
authorReto Buerki <reet@codelabs.ch>2014-12-19 08:54:22 +0100
committerMartin Willi <martin@revosec.ch>2015-02-20 13:34:53 +0100
commite12ff07c96a5cb75307c0e51e05cfd8f40e5b004 (patch)
tree4ad2e8a70dced87315bbd64ab13a3e85f08d1c99 /src/charon-tkm/tests/kernel_sad_tests.c
parentba8aefd5f2a79cb1bf491476c8ff861321f58137 (diff)
downloadstrongswan-e12ff07c96a5cb75307c0e51e05cfd8f40e5b004.tar.bz2
strongswan-e12ff07c96a5cb75307c0e51e05cfd8f40e5b004.tar.xz
charon-tkm: Add get_dst_host getter to SAD
This function returns the destination host of an SAD entry for given reqid, spi and protocol arguments or NULL if not found.
Diffstat (limited to 'src/charon-tkm/tests/kernel_sad_tests.c')
-rw-r--r--src/charon-tkm/tests/kernel_sad_tests.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/charon-tkm/tests/kernel_sad_tests.c b/src/charon-tkm/tests/kernel_sad_tests.c
index 7eb2ff8e6..b9ab3cb5e 100644
--- a/src/charon-tkm/tests/kernel_sad_tests.c
+++ b/src/charon-tkm/tests/kernel_sad_tests.c
@@ -81,6 +81,29 @@ START_TEST(test_get_esa_id_nonexistent)
}
END_TEST
+START_TEST(test_get_dst_host)
+{
+ host_t *addr = host_create_from_string("127.0.0.1", 1024);
+ tkm_kernel_sad_t *sad = tkm_kernel_sad_create();
+ fail_unless(sad->insert(sad, 23, 54, addr, addr, 42, 50),
+ "Error inserting SAD entry");
+
+ host_t *dst = sad->get_dst_host(sad, 54, 42, 50);
+ fail_unless(addr->equals(addr, dst), "Error getting dst host");
+ sad->destroy(sad);
+ addr->destroy(addr);
+}
+END_TEST
+
+START_TEST(test_get_dst_host_nonexistent)
+{
+ tkm_kernel_sad_t *sad = tkm_kernel_sad_create();
+ fail_unless(sad->get_dst_host(sad, 1, 12, 50) == NULL,
+ "Got dst for nonexistent SAD entry");
+ sad->destroy(sad);
+}
+END_TEST
+
START_TEST(test_remove)
{
host_t *addr = host_create_from_string("127.0.0.1", 1024);
@@ -128,6 +151,11 @@ Suite *make_kernel_sad_tests()
tcase_add_test(tc, test_get_esa_id_nonexistent);
suite_add_tcase(s, tc);
+ tc = tcase_create("get_dst_host");
+ tcase_add_test(tc, test_get_dst_host);
+ tcase_add_test(tc, test_get_dst_host_nonexistent);
+ suite_add_tcase(s, tc);
+
tc = tcase_create("remove");
tcase_add_test(tc, test_remove);
tcase_add_test(tc, test_remove_nonexistent);