From 6a8552a04d691666e8ef9a74e92976415a855730 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Sat, 9 Oct 2010 17:53:00 +0200 Subject: [PATCH] [tests] add non regression test on assertion consumer endpoints ordering --- tests/non_regression_tests.c | 59 +++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/tests/non_regression_tests.c b/tests/non_regression_tests.c index 208bc30d..03f6045f 100644 --- a/tests/non_regression_tests.c +++ b/tests/non_regression_tests.c @@ -32,6 +32,7 @@ #include <../lasso/xml/lib_authentication_statement.h> #include <../lasso/xml/saml_name_identifier.h> #include <../lasso/xml/samlp_response.h> +#include <../lasso/id-ff/provider.h> #include "../lasso/utils.h" @@ -81,11 +82,67 @@ Format=\"urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified\"\n\ } END_TEST +START_TEST(indexed_endpoints_20101008) +{ + LassoProvider *provider = NULL; + char *meta01 = "\n\ +\n\ +\n\ +\n\ +\n\ +\n"; + char *meta02 = "\n\ +\n\ +\n\ +\n\ +\n\ +\n"; + char *meta03 = "\n\ +\n\ +\n\ +\n\ +\n\ +\n"; + char *meta04 = "\n\ +\n\ +\n\ +\n\ +\n\ +\n"; + + provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta01, NULL, NULL); + check_not_null(provider); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "ok"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "wrong"); + lasso_release_gobject(provider); + provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta02, NULL, NULL); + check_not_null(provider); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "wrong"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "ok"); + lasso_release_gobject(provider); + provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta03, NULL, NULL); + check_not_null(provider); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "wrong"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "ok"); + lasso_release_gobject(provider); + provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta04, NULL, NULL); + check_not_null(provider); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "wrong"); + check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "ok"); + lasso_release_gobject(provider); +} +END_TEST + struct { char *name; void *function; } tests[] = { - { "Googleapps error from coudot@ on 27-09-2010", test01_googleapps_27092010} + { "Googleapps error from coudot@ on 27-09-2010", test01_googleapps_27092010}, + { "Wrong assertionConsumer ordering on 08-10-2010", indexed_endpoints_20101008} }; Suite*