diff --git a/tests/Makefile.am b/tests/Makefile.am
index bb984217..9f179b37 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,8 +1,8 @@
MAINTAINERCLEANFILES = Makefile.in
if WITH_TESTS
-TESTS = tests
-noinst_PROGRAMS = tests perfs
+TESTS = tests tests2
+noinst_PROGRAMS = tests perfs tests2
INCLUDES = \
-DPACKAGE=\"@PACKAGE@\" \
@@ -20,6 +20,13 @@ tests_LDADD = \
$(CHECK_LIBS)
tests_LDFLAGS = -rpath `cd $(top_srcdir)/lasso/.libs/; pwd`
+tests2_SOURCES = tests2.c
+tests2_LDADD = \
+ $(top_builddir)/lasso/liblasso.la \
+ $(LASSO_LIBS) \
+ $(CHECK_LIBS)
+tests2_LDFLAGS = -rpath `cd $(top_srcdir)/lasso/.libs/; pwd`
+
perfs_SOURCES = perfs.c
perfs_LDADD = $(top_builddir)/lasso/liblasso.la $(LASSO_LIBS)
perfs_LDFLAGS = -rpath `cd $(top_srcdir)/lasso/.libs/; pwd`
diff --git a/tests/data/response-1 b/tests/data/response-1
new file mode 100644
index 00000000..c4d24214
--- /dev/null
+++ b/tests/data/response-1
@@ -0,0 +1,57 @@
+gefssstggefssstg
+
+
+
+
+
+
+
+
+
+AuvPOsEPfXxMD4Je7W3W9Qk34/g=
+
+
+
+qO+/JLyIspZUvOCtp0tsf+8NTL9mSFZyhuzWnflQnG8MaGJ6RUwXtMeupfwsjmfJPJ7lMxV45abT
+TN1UWASzfhPWH+rWbi3lqzut3vPTxZyj8i+nGDdkIMpxLpf9WXT+LTLgiQZsK9IU27sJuM7CuyEN
+9Kyr2076DF6pz/w0/20=
+
+
+
+
+MIIE1DCCA7ygAwIBAgIRALvyUuiiVghKTPVWuO9rkJMwDQYJKoZIhvcNAQEFBQAwazELMAkGA1UE
+BhMCVVMxLTArBgNVBAoTJFRydXN0ZWQgU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTEtMCsG
+A1UEAxMkVHJ1c3RlZCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MB4XDTA4MTEwNjAwMDAw
+MFoXDTEwMTEwNjIzNTk1OVowgdUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDVDESMBAGA1UEBxMJ
+RmFpcmZpZWxkMSEwHwYDVQQKExhHZW5lcmFsIEVsZWN0cmljIENvbXBhbnkxGDAWBgNVBAsTD0dF
+IEdJUyBDb3JwdDUwODEtMCsGA1UECxMkUHJvdmlkZWQgYnkgR2VuZXJhbCBFbGVjdHJpYyBDb21w
+YW55MRcwFQYDVQQLEw5FbnRlcnByaXNlIFNTTDEgMB4GA1UEAxMXZnNzLnN0YWdlLmdlY29tcGFu
+eS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAM7CP9FlNdLPYof1BtyJ128uYeFHWc0P
+8eyXZe6AHO2nmL2ZqXpzpDt2xeLGqu+7jakE5Ijr9ePLgyQ+2Up7gUlMVmrklU/i5JU4V0HYFkdD
+FQQHzcAHI0Y/UStf4iZ1SEYVqPHJECyrXSn8a9N4UoZbvqCmD4ycaY+bCvYgeclvAgMBAAGjggGK
+MIIBhjAfBgNVHSMEGDAWgBQxlflM+yx445/iHjtrODIv/ZeZ5jAdBgNVHQ4EFgQUoFBIe8x/db40
+xTRYEEVO2z7gPO4wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYB
+BQUHAwEGCCsGAQUFBwMCMBEGCWCGSAGG+EIBAQQEAwIGwDBLBgNVHSAERDBCMEAGCysGAQQBsjEB
+AgIIMDEwLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuY3NjdHJ1c3RlZHNlY3VyZS5jb20vY3BzMIGm
+BgNVHR8EgZ4wgZswS6BJoEeGRWh0dHA6Ly9jcmwuY3NjdHJ1c3RlZHNlY3VyZS5jb20vVHJ1c3Rl
+ZFNlY3VyZUNlcnRpZmljYXRlQXV0aG9yaXR5LmNybDBMoEqgSIZGaHR0cDovL2NybDIuY3NjdHJ1
+c3RlZHNlY3VyZS5jb20vVHJ1c3RlZFNlY3VyZUNlcnRpZmljYXRlQXV0aG9yaXR5LmNybDANBgkq
+hkiG9w0BAQUFAAOCAQEAQBsHyu5MeDUwRU87H6olcF7M6WVa2y0YvqT858bI1fhPgg608agz2E/h
+6lKdKBnsw9T1IzdEAd61hSGggb+nN86gXTbAGtdYCC0f3J+5l19VqzMeHTyvfI2uMlE+2GXYqGjV
+Wan5r5CBuPYExJou4boigfhSVTPkjkNBSbVd5mby61XuULXQraozGwJouWG2m0292fQ8tiFcZZ6S
+Pt+GiSi4+PatACeb0wXK/lTeus3dWJ5m1pRYt6tGp5Q+h/uTA2094uKxEpjZ+TYFBadLxNvNcRQb
+/06AaxVLZFuFpJwfFzyQYE1CyRNgjl6prucUWQ1e/OMn15BGSnY4Ft3c8w==
+
+
+
+
+
+zsI/0WU10s9ih/UG3InXby5h4UdZzQ/x7Jdl7oAc7aeYvZmpenOkO3bF4saq77uNqQTkiOv148uD
+JD7ZSnuBSUxWauSVT+LklThXQdgWR0MVBAfNwAcjRj9RK1/iJnVIRhWo8ckQLKtdKfxr03hShlu+
+oKYPjJxpj5sK9iB5yW8=
+
+AQAB
+
+
+
+999999500Webrooturn:oasis:names:tc:SAML:2.0:ac:classes:unspecifiedUser999999500Test999999500@apctest.ge.com
\ No newline at end of file
diff --git a/tests/data/response-2 b/tests/data/response-2
new file mode 100644
index 00000000..a993b8df
--- /dev/null
+++ b/tests/data/response-2
@@ -0,0 +1,39 @@
+http://idp5/metadata
+
+
+
+
+
+
+
+
+
+qMli6MfowrcVD5sX9qx5nvZe0lI=
+
+
+elUruTbgjvLHOWnIhphsVxBe2YS6I3+vfafeFYZuVFG0vTsllOlEA7wLx9KOL9mS
+6fH85wZX9MhjIInRvGYII8mF0/44Znzs2oja/Fya8RLSYGpLG+ApCycifOrDWzug
+JsA61l1KjQjb+FBjZDiUoQQPuIPGHjb37DPYo76VMsokmBiMxzmwzoDF9BPutOan
+86aKbnisJj1nJELI0ByNYHQ6S7sG37CqyQCOZS4ejLzKLZiabi1kprqvAUNWudJd
+823Z3aGeTmAfEqSaAQdN6Xe6Jm2yhKHQViAjWVUHNy3Sv+r8QUeZ2EyrMoLzSchf
+WbWtCZv1likzLE7wmk774A==
+http://idp5/metadatahttp://idp5/metadata
+
+
+
+
+
+
+
+
+
+eybLGqaQGyA4dHn/XVeISNH+52A=
+
+
+sMhV5ZxdTWgIzEOAgUlh5T8vBJMmhDYBXqvDNgCZZ14mhn8ZZAnzmlzuXY6KycRm
+Ko8RPCcbhkVnTzhDG0osMe9NGhnRSJ0Ra1mO/6lyPJP62z+GSHkQvnkH944nqDEs
+wFp7NbqwccvbVslCQUf0Dm4leOhWZV6dZFBIR6W755W1nFpgM+AWiIBIUxu9k7TO
+kq7wXhaXZCKtzpvh60g17ezOR9XuovUf79igPbsR1d7cFaTbhfPknoC2/WDYS+dy
+JGqf73erEE/oEXCFuUYulZkcUAAtFa/T7CF2nQ2GM82F+p1gogOK3U3f11YZPovD
+ZBG6A4U7T+8RC3tTemLnWA==
+_E7799BC7D0C299FABBB7367100656120http://sp5/metadataurn:oasis:names:tc:SAML:1.0:am:password
\ No newline at end of file
diff --git a/tests/data/response-3 b/tests/data/response-3
new file mode 100644
index 00000000..0e485d48
--- /dev/null
+++ b/tests/data/response-3
@@ -0,0 +1,63 @@
+
+ http://idp5/metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ./data//idp5-saml2/private-key.pem
+
+ http://idp5/metadata
+
+
+
+
+ http://idp5/metadata
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _E7799BC7D0C299FABBB7367100656120
+
+
+
+
+
+
+ http://sp5/metadata
+
+
+
+
+ urn:oasis:names:tc:SAML:1.0:am:password
+
+
+ ./data//idp5-saml2/private-key.pem
+
+
+
\ No newline at end of file
diff --git a/tests/tests2.c b/tests/tests2.c
new file mode 100644
index 00000000..015929be
--- /dev/null
+++ b/tests/tests2.c
@@ -0,0 +1,33 @@
+#include
+#include
+#include
+#include
+
+void load(char *file) {
+ LassoNode *node = NULL;
+ char *content;
+ guint len;
+ xmlNode *xmlnode;
+
+ g_file_get_contents(file, &content, &len, NULL);
+ node = lasso_node_new_from_dump(content);
+ g_free(content);
+ xmlnode = lasso_node_get_xmlNode(node, TRUE);
+ content = lasso_node_dump(node);
+ g_free(content);
+ content = lasso_node_export_to_soap(node);
+ g_free(content);
+
+ g_object_unref(node);
+ xmlFreeNode(xmlnode);
+}
+
+int main(G_GNUC_UNUSED int argc, G_GNUC_UNUSED char **argv) {
+ lasso_init();
+ load("data/response-1");
+ load("data/response-2");
+ load("data/response-3");
+ lasso_shutdown();
+
+ return 0;
+}