summaryrefslogtreecommitdiffstats
path: root/tests/basic_tests.c
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-04-14 17:17:20 +0200
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2011-04-14 17:17:20 +0200
commit0ae13fe29c229436dd915feddd3ab8458bb897c9 (patch)
tree7598729919c2c4e67457a3d8b6f358764142157f /tests/basic_tests.c
parent3521c642be404171860483960be30d467a3d5179 (diff)
parent8b216a430727a3085fbc683d1108c43456165d49 (diff)
downloadlasso-0ae13fe29c229436dd915feddd3ab8458bb897c9.tar.gz
lasso-0ae13fe29c229436dd915feddd3ab8458bb897c9.tar.xz
lasso-0ae13fe29c229436dd915feddd3ab8458bb897c9.zip
Merge branch 'load-federation'
Diffstat (limited to 'tests/basic_tests.c')
-rw-r--r--tests/basic_tests.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 4099236a..d469c474 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -1939,6 +1939,39 @@ START_TEST(test12_custom_namespace)
}
END_TEST
+#include <stdio.h>
+
+/* test load federation */
+START_TEST(test13_test_lasso_server_load_metadata)
+{
+ LassoServer *server = NULL;
+ GList *loaded_entity_ids = NULL;
+ GList blacklisted_1 = { .data = "https://identities.univ-jfc.fr/idp/prod", .next = NULL };
+
+ check_not_null(server = lasso_server_new(
+ TESTSDATADIR "/idp5-saml2/metadata.xml",
+ TESTSDATADIR "/idp5-saml2/private-key.pem",
+ NULL, /* Secret key to unlock private key */
+ NULL));
+ check_good_rc(lasso_server_load_metadata(server, LASSO_PROVIDER_ROLE_IDP,
+ TESTSDATADIR "/renater-metadata.xml",
+ TESTSDATADIR "/metadata-federation-renater.crt",
+ &blacklisted_1, &loaded_entity_ids,
+ LASSO_SERVER_LOAD_METADATA_FLAG_DEFAULT));
+ check_equals(g_hash_table_size(server->providers), 101);
+ check_equals(g_list_length(loaded_entity_ids), 101);
+ check_good_rc(lasso_server_load_metadata(server, LASSO_PROVIDER_ROLE_IDP,
+ TESTSDATADIR "/ukfederation-metadata.xml",
+ TESTSDATADIR "/ukfederation.pem",
+ &blacklisted_1, &loaded_entity_ids,
+ LASSO_SERVER_LOAD_METADATA_FLAG_DEFAULT));
+ check_equals(g_list_length(loaded_entity_ids), 283);
+ check_equals(g_hash_table_size(server->providers), 384);
+
+ lasso_release_gobject(server);
+}
+END_TEST
+
Suite*
basic_suite()
{
@@ -1953,6 +1986,7 @@ basic_suite()
TCase *tc_registry_new_from_xmlNode = tcase_create("Test parsing a node that has a mapping to Lasso Object in the registry");
TCase *tc_response_new_from_xmlNode = tcase_create("Test parsing a message from Ping Federate");
TCase *tc_custom_namespace = tcase_create("Test custom namespace handling");
+ TCase *tc_load_metadata = tcase_create("Test loading a federation metadata file");
suite_add_tcase(s, tc_server_load_dump_empty_string);
suite_add_tcase(s, tc_server_load_dump_random_string);
@@ -1964,6 +1998,7 @@ basic_suite()
suite_add_tcase(s, tc_registry_new_from_xmlNode);
suite_add_tcase(s, tc_response_new_from_xmlNode);
suite_add_tcase(s, tc_custom_namespace);
+ suite_add_tcase(s, tc_load_metadata);
tcase_add_test(tc_server_load_dump_empty_string, test01_server_load_dump_empty_string);
tcase_add_test(tc_server_load_dump_random_string, test02_server_load_dump_random_string);
@@ -1977,6 +2012,8 @@ basic_suite()
tcase_add_test(tc_response_new_from_xmlNode, test10_test_alldumps);
tcase_add_test(tc_response_new_from_xmlNode, test11_get_default_name_id_format);
tcase_add_test(tc_custom_namespace, test12_custom_namespace);
+ tcase_add_test(tc_load_metadata, test13_test_lasso_server_load_metadata);
+ tcase_set_timeout(tc_load_metadata, 10);
return s;
}