summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-09-29 13:20:42 +0000
committerBenjamin Dauvergne <bdauvergne@entrouvert.com>2009-09-29 13:20:42 +0000
commit6f1ecfeda6c6d939f2c02c0f872100456bfc2801 (patch)
treef1d3d8dc293db98d491cb85ce159f81c456db2f3 /tests
parentbdd1ad92a0382409adbc24bfdee829c9b2690be2 (diff)
downloadlasso-6f1ecfeda6c6d939f2c02c0f872100456bfc2801.tar.gz
lasso-6f1ecfeda6c6d939f2c02c0f872100456bfc2801.tar.xz
lasso-6f1ecfeda6c6d939f2c02c0f872100456bfc2801.zip
Tests: add a test of NameIDFormat extraction
- tests/basic_test.c: add test11_get_default_name_id_format which parse a metadata file and try to extract the default name id format. - tests/data/sp5-saml2/metadata.xml: add NameIDFormat node for testing.
Diffstat (limited to 'tests')
-rw-r--r--tests/basic_tests.c23
-rw-r--r--tests/data/sp5-saml2/metadata.xml1
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 56f1094b..06c0ec81 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -1844,6 +1844,28 @@ START_TEST(test10_test_alldumps)
}
END_TEST
+/* test NameIDFormat extraction */
+START_TEST(test11_get_default_name_id_format)
+{
+ LassoProvider *provider;
+ char *name_id_format;
+ const GList *name_id_formats;
+
+ provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP, TESTSDATADIR "/sp5-saml2/metadata.xml", NULL, NULL);
+ fail_unless(provider != NULL, "lasso_provider_new failed on metadata file: %s", TESTSDATADIR "/sp5-saml2/metadata.xml");
+ name_id_format = lasso_provider_get_default_name_id_format(provider);
+ fail_unless(name_id_format != NULL, "no default name id format found!");
+ fail_unless(strcmp(name_id_format, LASSO_SAML2_NAME_IDENTIFIER_FORMAT_EMAIL) == 0, "default name id format is not email, it is: %s", name_id_format);
+ lasso_release_string(name_id_format);
+ name_id_formats = lasso_provider_get_metadata_list(provider, "NameIDFormat");
+ fail_unless(g_list_length((GList*)name_id_formats) == 1, "lasso_provider_get_metadata_list returned more or less than 1 NameIDFormat: %u", g_list_length((GList*)name_id_formats));
+ fail_unless(name_id_formats->data != NULL, "first name id format is NULL");
+ fail_unless(strcmp((char*)name_id_formats->data, LASSO_SAML2_NAME_IDENTIFIER_FORMAT_EMAIL) == 0, "first name id format is not email, it is %s", (char*)name_id_formats->data);
+ /* cleanup */
+ lasso_release_gobject(provider);
+}
+END_TEST
+
Suite*
basic_suite()
{
@@ -1878,6 +1900,7 @@ basic_suite()
tcase_add_test(tc_registry_new_from_xmlNode, test08_test_new_from_xmlNode);
tcase_add_test(tc_response_new_from_xmlNode, test09_test_deserialization);
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);
return s;
}
diff --git a/tests/data/sp5-saml2/metadata.xml b/tests/data/sp5-saml2/metadata.xml
index 77393912..6b36d97a 100644
--- a/tests/data/sp5-saml2/metadata.xml
+++ b/tests/data/sp5-saml2/metadata.xml
@@ -87,6 +87,7 @@ LlTxKnCrWAXftSm1rNtewTsF
<AssertionConsumerService index="2"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:PAOS"
Location="http://sp5/singleSignOnSOAP" />
+ <NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</NameIDFormat>
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Example SAML 2.0 metadatas</OrganizationName>