diff --git a/tests/basic_tests.c b/tests/basic_tests.c index 4099236a..cabdeacb 100644 --- a/tests/basic_tests.c +++ b/tests/basic_tests.c @@ -1939,6 +1939,26 @@ START_TEST(test12_custom_namespace) } END_TEST +/* test load federation */ +START_TEST(test13_test_lasso_server_load_federation) +{ + LassoServer *server = NULL; + char *metadata_content; + + 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_true(g_file_get_contents(TESTSDATADIR "/renater-metadata.xml", &metadata_content, + NULL, NULL)); + check_good_rc(lasso_server_load_federation(server, 0, metadata_content, TESTSDATADIR "/renater-metadata.cert")); + + lasso_release_string(metadata_content); + lasso_release_gobject(server); +} +END_TEST + Suite* basic_suite() { @@ -1953,6 +1973,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_federation = 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 +1985,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_federation); 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 +1999,7 @@ 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_federation, test13_test_lasso_server_load_federation); return s; } diff --git a/tests/data/metadata-federation-renater.crt b/tests/data/metadata-federation-renater.crt new file mode 100644 index 00000000..b6117441 --- /dev/null +++ b/tests/data/metadata-federation-renater.crt @@ -0,0 +1,15 @@ +-----BEGIN CERTIFICATE----- +MIICZTCCAc6gAwIBAgIEScn+qTANBgkqhkiG9w0BAQUFADB3MQswCQYDVQQGEwJG +UjEQMA4GA1UEChMHUkVOQVRFUjFWMFQGA1UEAxNNQ2VydGlmaWNhdCBkZSBzaWdu +YXR1cmUgZGVzIG1ldGEgZG9ubmVlcyBkZSBsYSBmZWRlcmF0aW9uIEVkdWNhdGlv +bi1SZWNoZXJjaGUwHhcNMDkwMzI1MDk1MTM3WhcNMTkwMzIzMDk1MTM3WjB3MQsw +CQYDVQQGEwJGUjEQMA4GA1UEChMHUkVOQVRFUjFWMFQGA1UEAxNNQ2VydGlmaWNh +dCBkZSBzaWduYXR1cmUgZGVzIG1ldGEgZG9ubmVlcyBkZSBsYSBmZWRlcmF0aW9u +IEVkdWNhdGlvbi1SZWNoZXJjaGUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB +AJBXcLIguokGiytYSOrgmU6fN+1DXK4eaquvFGMaswuhcRPD4tXtSs8CGxPP8/VF +Mpcry04lfPA3mpwDis47hsvmLqGJVmfSuvkDsPx+I325h4WqGzEV8kfttkJSi8D0 +QLKk9wseA+BHzoBpU6e5uWmGqfWJgbZlcUuYKCIE2nL/AgMBAAEwDQYJKoZIhvcN +AQEFBQADgYEAT0rUS5GTtqW9a0pAv0PjieSS6bW3KG3Mtn0jC1dmav6X9fbhhmFL +1XSC9WnCU2UD3986EWWYKhN2INHghHE/fQGveVwdcVSSt601OpAsUF18tx0vHqkf +Shcj7mteq59Gv4hOE8U1Urd/pSRaIO3G42X6/L/AlXeDkicfGZHhq7Q= +-----END CERTIFICATE-----