summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--configure.ac22
-rw-r--r--tests/Makefile.am22
-rw-r--r--tests/login_tests.c76
4 files changed, 89 insertions, 33 deletions
diff --git a/Makefile.am b/Makefile.am
index f9d3ae40..af7122d2 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = lasso docs python win32
+SUBDIRS = lasso docs python win32 tests
ABS_BUILDDIR = $(shell pwd)
diff --git a/configure.ac b/configure.ac
index a8ca3929..9246541d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -194,6 +194,25 @@ fi
AM_CONDITIONAL(ENABLE_GTK_DOC, test x$enable_gtk_doc = xyes)
+
+dnl ==========================================================================
+dnl Test suite (requires check)
+dnl ==========================================================================
+AC_ARG_ENABLE(tests,
+[ --enable-tests build the test suite (default)],
+[case "${enableval}" in
+ yes) tests_val=true;;
+ no) tests_val=false;;
+esac], tests_val=true)
+
+if $tests_val ; then
+ AM_PATH_CHECK
+fi
+
+AM_CONDITIONAL(WITH_TESTS, $tests_val)
+
+
+
dnl ==========================================================================
dnl Where do we want to install docs
dnl ==========================================================================
@@ -312,6 +331,7 @@ python/protocols/Makefile
python/protocols/elements/Makefile
python/tests/Makefile
python/xml/Makefile
+tests/Makefile
win32/Makefile
win32/nsis/Makefile
]
@@ -330,4 +350,4 @@ Configuration:
Build Python binding: ${enable_python}
Build C API reference: ${enable_gtk_doc}
-" \ No newline at end of file
+"
diff --git a/tests/Makefile.am b/tests/Makefile.am
new file mode 100644
index 00000000..62d9c289
--- /dev/null
+++ b/tests/Makefile.am
@@ -0,0 +1,22 @@
+if WITH_TESTS
+
+TESTS = login_tests
+noinst_PROGRAMS = login_tests
+
+INCLUDES = \
+ -DPACKAGE=\"@PACKAGE@\" \
+ -I$(top_srcdir) \
+ -I$(top_srcdir)/lasso \
+ $(LASSO_DEFINES) \
+ $(LASSO_CFLAGS) \
+ $(CHECK_CFLAGS)
+
+login_tests_SOURCES = login_tests.c
+login_tests_LDADD = \
+ $(top_builddir)/lasso/liblasso.la \
+ $(LASSO_LIBS) \
+ $(CHECK_LIBS)
+endif
+
+EXTRA_DIST = login_tests.c
+
diff --git a/tests/login_tests.c b/tests/login_tests.c
index 54063db8..ad8bc3ba 100644
--- a/tests/login_tests.c
+++ b/tests/login_tests.c
@@ -21,48 +21,62 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-
-/*
-gcc -g -O2 -I./.. `pkg-config gobject-2.0 --cflags` `pkg-config libxml-2.0 --cflags` -L../lasso/.libs -llasso `pkg-config gobject-2.0 --libs` `pkg-config libxml-2.0 --libs` -DXMLSEC_CRYPTO=\"openssl\" -DXMLSEC_LIBXML_260=1 -D__XMLSEC_FUNCTION__=__FUNCTION__ -DXMLSEC_NO_XKMS=1 -DXMLSEC_NO_CRYPTO_DYNAMIC_LOADING=1 -DXMLSEC_CRYPTO_OPENSSL=1 -I/usr/include/xmlsec1 -I/usr/include/libxml2 -L/usr/lib -L/usr/local/lib -lxmlsec1-openssl -lxmlsec1 -lxslt -lxml2 -lz -lpthread -lm -lssl -lcrypto -ldl login_tests.c -o login_tests
-*/
-
-
+#include <stdlib.h>
+#include <check.h>
#include <lasso/lasso.h>
char *generateIdentityProviderContextDump() {
- LassoServer *serverContext = lasso_server_new(
- "../examples/data/idp-metadata.xml",
- "../examples/data/idp-public-key.pem",
- "../examples/data/idp-private-key.pem",
- "../examples/data/idp-crt.pem",
- lassoSignatureMethodRsaSha1);
- lasso_server_add_provider(
- serverContext,
- "../examples/data/sp-metadata.xml",
- "../examples/data/sp-public-key.pem",
- "../examples/data/ca-crt.pem");
- char *serverContextDump = lasso_server_dump(serverContext);
- return serverContextDump;
+ LassoServer *serverContext = lasso_server_new(
+ "../examples/data/idp-metadata.xml",
+ "../examples/data/idp-public-key.pem",
+ "../examples/data/idp-private-key.pem",
+ "../examples/data/idp-crt.pem",
+ lassoSignatureMethodRsaSha1);
+ lasso_server_add_provider(
+ serverContext,
+ "../examples/data/sp-metadata.xml",
+ "../examples/data/sp-public-key.pem",
+ "../examples/data/ca-crt.pem");
+ char *serverContextDump = lasso_server_dump(serverContext);
+ return serverContextDump;
}
-void test01_generateServersContextDumps() {
- char *identityProviderContextDump = generateIdentityProviderContextDump();
- printf("SUCCESS = %s\n", identityProviderContextDump);
-/* char *serviceProviderContextDump = generateServiceProviderContextDump(); */
-/* assertNotNull(serviceProviderContextDump); */
+START_TEST(test01_generateServersContextDumps)
+{
+ char *identityProviderContextDump = generateIdentityProviderContextDump();
+ fail_unless(identityProviderContextDump != NULL,
+ "generateIdentityProviderContextDump should not return NULL");
}
+END_TEST
-
-void test02_serviceProviderLogin() {
+Suite* login_suite()
+{
+ Suite *s = suite_create("Login");
+ TCase *tc_generate = tcase_create("Generate Server Contexts");
+ suite_add_tcase(s, tc_generate);
+ tcase_add_test(tc_generate, test01_generateServersContextDumps);
+ return s;
}
+int main(int argc, char *argv[])
+{
+ int rc;
+ Suite *s;
+ SRunner *sr;
-int main() {
- lasso_init();
+ lasso_init();
+
+ s = login_suite();
+ sr = srunner_create(s);
+ srunner_run_all (sr, CK_VERBOSE);
+ rc = srunner_ntests_failed(sr);
+
+ srunner_free(sr);
+ suite_free(s);
- test01_generateServersContextDumps();
- test02_serviceProviderLogin();
+ /*lasso_destroy();*/
- lasso_shutdown();
+ return (rc == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}
+