summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basic_tests.c1
-rw-r--r--tests/login_tests.c41
-rw-r--r--tests/metadata_tests.c5
-rw-r--r--tests/random_tests.c29
-rw-r--r--tests/tests.c1
5 files changed, 65 insertions, 12 deletions
diff --git a/tests/basic_tests.c b/tests/basic_tests.c
index 737e5eb4..b21202a3 100644
--- a/tests/basic_tests.c
+++ b/tests/basic_tests.c
@@ -150,6 +150,7 @@ START_TEST(test08_test_new_from_xmlNode)
node = lasso_node_new_from_dump("<Test1 xmlns=\"http://example.com\"></Test1>");
fail_unless(node != NULL, "parsing <Test1/> should return an object");
fail_unless(strcmp(G_OBJECT_TYPE_NAME(node), "LassoTest") == 0, "node classname should be LassoTest");
+ g_object_unref(node);
}
END_TEST
diff --git a/tests/login_tests.c b/tests/login_tests.c
index 7281c6b3..d33c03f5 100644
--- a/tests/login_tests.c
+++ b/tests/login_tests.c
@@ -34,6 +34,7 @@ static char*
generateIdentityProviderContextDump()
{
LassoServer *serverContext;
+ char *ret;
serverContext = lasso_server_new(
TESTSDATADIR "/idp1-la/metadata.xml",
@@ -46,13 +47,18 @@ generateIdentityProviderContextDump()
TESTSDATADIR "/sp1-la/metadata.xml",
TESTSDATADIR "/sp1-la/public-key.pem",
TESTSDATADIR "/ca1-la/certificate.pem");
- return lasso_server_dump(serverContext);
+ ret = lasso_server_dump(serverContext);
+
+ g_object_unref(serverContext);
+
+ return ret;
}
static char*
generateServiceProviderContextDump()
{
LassoServer *serverContext;
+ char *ret;
serverContext = lasso_server_new(
TESTSDATADIR "/sp1-la/metadata.xml",
@@ -65,7 +71,10 @@ generateServiceProviderContextDump()
TESTSDATADIR "/idp1-la/metadata.xml",
TESTSDATADIR "/idp1-la/public-key.pem",
TESTSDATADIR "/ca1-la/certificate.pem");
- return lasso_server_dump(serverContext);
+
+ ret = lasso_server_dump(serverContext);
+ g_object_unref(serverContext);
+ return ret;
}
static char*
@@ -76,6 +85,7 @@ generateIdentityProviderContextDumpMemory()
char *private_key;
char *certificate;
guint len;
+ char *ret;
g_file_get_contents(TESTSDATADIR "/idp1-la/metadata.xml", &metadata, &len, NULL);
g_file_get_contents(TESTSDATADIR "/idp1-la/private-key-raw.pem", &private_key, &len, NULL);
@@ -92,7 +102,12 @@ generateIdentityProviderContextDumpMemory()
TESTSDATADIR "/sp1-la/metadata.xml",
TESTSDATADIR "/sp1-la/public-key.pem",
TESTSDATADIR "/ca1-la/certificate.pem");
- return lasso_server_dump(serverContext);
+ g_free(metadata);
+ g_free(private_key);
+ g_free(certificate);
+ ret = lasso_server_dump(serverContext);
+ g_object_unref(serverContext);
+ return ret;
}
@@ -276,8 +291,14 @@ START_TEST(test02_serviceProviderLogin)
g_free(serviceProviderId);
g_free(serviceProviderContextDump);
g_free(identityProviderContextDump);
- lasso_server_destroy(spContext);
- lasso_server_destroy(idpContext);
+ g_free(idpSessionContextDump);
+ g_free(idpIdentityContextDump);
+ g_free(spIdentityContextDump);
+ g_free(spSessionDump);
+ g_object_unref(spContext);
+ g_object_unref(idpContext);
+ g_object_unref(spLoginContext);
+ g_object_unref(idpLoginContext);
}
END_TEST
@@ -413,8 +434,14 @@ START_TEST(test03_serviceProviderLogin)
g_free(serviceProviderId);
g_free(serviceProviderContextDump);
g_free(identityProviderContextDump);
- lasso_server_destroy(spContext);
- lasso_server_destroy(idpContext);
+ g_free(idpSessionContextDump);
+ g_free(idpIdentityContextDump);
+ g_free(spIdentityContextDump);
+ g_free(spSessionDump);
+ g_object_unref(spContext);
+ g_object_unref(idpContext);
+ g_object_unref(spLoginContext);
+ g_object_unref(idpLoginContext);
}
END_TEST
Suite*
diff --git a/tests/metadata_tests.c b/tests/metadata_tests.c
index c9213047..171fdedd 100644
--- a/tests/metadata_tests.c
+++ b/tests/metadata_tests.c
@@ -34,6 +34,7 @@ START_TEST(test01_metadata_load_der_certificate_from_x509_cert)
LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP,
TESTSMETADATADIR "/metadata_01.xml", NULL, NULL);
fail_unless(provider != NULL, "Can't load DER certificate from <ds:X509Certificate>");
+ g_object_unref(provider);
}
END_TEST
@@ -42,6 +43,7 @@ START_TEST(test02_metadata_load_pem_certificate_from_x509_cert)
LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP,
TESTSMETADATADIR "/metadata_02.xml", NULL, NULL);
fail_unless(provider != NULL, "Can't load PEM certificate from <ds:X509Certificate>");
+ g_object_unref(provider);
}
END_TEST
@@ -50,6 +52,7 @@ START_TEST(test03_metadata_load_der_public_key_from_keyvalue)
LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP,
TESTSMETADATADIR "/metadata_03.xml", NULL, NULL);
fail_unless(provider != NULL, "Can't load DER public key from <ds:KeyValue>");
+ g_object_unref(provider);
}
END_TEST
@@ -58,6 +61,7 @@ START_TEST(test04_metadata_load_pem_public_key_from_keyvalue)
LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP,
TESTSMETADATADIR "/metadata_04.xml", NULL, NULL);
fail_unless(provider != NULL, "Can't load PEM public key from <ds:KeyValue>");
+ g_object_unref(provider);
}
END_TEST
@@ -66,6 +70,7 @@ START_TEST(test05_metadata_load_public_key_from_x509_cert)
LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP,
TESTSMETADATADIR "/metadata_05.xml", NULL, NULL);
fail_unless(provider != NULL, "Can't load DER public key from <ds:X509Certificate>");
+ g_object_unref(provider);
}
END_TEST
diff --git a/tests/random_tests.c b/tests/random_tests.c
index 6b248c61..47b5aaee 100644
--- a/tests/random_tests.c
+++ b/tests/random_tests.c
@@ -48,6 +48,7 @@ START_TEST(test01_provider_new)
dump = lasso_node_dump(LASSO_NODE(provider));
printf("dump:\n%s\n", dump);
+ g_object_unref(provider);
}
END_TEST
@@ -66,6 +67,8 @@ START_TEST(test02_provider_new_from_dump)
provider2 = lasso_provider_new_from_dump(dump);
dump = lasso_node_dump(LASSO_NODE(provider2));
printf("dump:\n%s\n", dump);
+ g_object_unref(provider1);
+ g_object_unref(provider2);
}
END_TEST
@@ -81,6 +84,8 @@ START_TEST(test01_server_new)
TESTSDATADIR "/idp1-la/certificate.pem");
dump = lasso_node_dump(LASSO_NODE(server));
+ printf("dump:%s\n", dump);
+ g_object_unref(server);
}
END_TEST
@@ -102,6 +107,7 @@ START_TEST(test02_server_add_provider)
TESTSDATADIR "/ca1-la/certificate.pem");
dump = lasso_node_dump(LASSO_NODE(server));
+ g_object_unref(server);
}
END_TEST
@@ -125,7 +131,11 @@ START_TEST(test03_server_new_from_dump)
dump = lasso_node_dump(LASSO_NODE(server1));
server2 = lasso_server_new_from_dump(dump);
+ g_free(dump);
dump = lasso_node_dump(LASSO_NODE(server2));
+ g_object_unref(server1);
+ g_object_unref(server2);
+ g_free(dump);
}
END_TEST
@@ -147,6 +157,7 @@ START_TEST(test04_node_new_from_dump)
node = lasso_node_new_from_dump(msg);
fail_unless(node != NULL, "new_from_dump failed");
+ g_object_unref(node);
}
END_TEST
@@ -160,24 +171,31 @@ START_TEST(test05_xsi_type)
LassoSamlAssertion *assertion;
LassoLibAuthenticationStatement *stmt;
+ LassoSamlNameIdentifier *name_identifier;
+ char *dump;
+ name_identifier = lasso_saml_name_identifier_new();
assertion = LASSO_SAML_ASSERTION(lasso_lib_assertion_new_full("", "", "", "", ""));
assertion->AuthenticationStatement = LASSO_SAML_AUTHENTICATION_STATEMENT(
lasso_lib_authentication_statement_new_full(
"toto", "toto", "toto",
NULL,
- lasso_saml_name_identifier_new()));
+ name_identifier));
+ g_object_unref(name_identifier);
stmt = LASSO_LIB_AUTHENTICATION_STATEMENT(assertion->AuthenticationStatement);
stmt->AuthnContext = LASSO_LIB_AUTHN_CONTEXT(lasso_lib_authn_context_new());
stmt->AuthnContext->AuthnContextClassRef = g_strdup("urn:toto");
- fail_unless(strstr(lasso_node_dump(LASSO_NODE(assertion)),
- "xsi:type=\"lib:AuthnContextType\"") == NULL,
+ dump = lasso_node_dump(LASSO_NODE(assertion));
+ fail_unless(strstr(dump, "xsi:type=\"lib:AuthnContextType\"") == NULL,
"AuthnContext got a xsi:type");
- fail_unless(strstr(lasso_node_dump(LASSO_NODE(assertion)),
- "xsi:type=\"lib:AuthenticationStatementType\"") != NULL,
+ g_free(dump);
+ dump = lasso_node_dump(LASSO_NODE(assertion));
+ fail_unless(strstr(dump, "xsi:type=\"lib:AuthenticationStatementType\"") != NULL,
"AuthenticationStatement didn't get a xsi:type");
+ g_free(dump);
+ g_object_unref(assertion);
}
END_TEST
@@ -198,6 +216,7 @@ START_TEST(test06_lib_statuscode)
LASSO_LIB_STATUS_CODE_UNKNOWN_PRINCIPAL);
fail_unless(strstr(lasso_node_dump(LASSO_NODE(response)), "xmlns:lib=") != NULL,
"liberty namespace should be defined");
+ g_object_unref(response);
}
END_TEST
diff --git a/tests/tests.c b/tests/tests.c
index b7e44ec9..9333b99f 100644
--- a/tests/tests.c
+++ b/tests/tests.c
@@ -80,6 +80,7 @@ main(int argc, char *argv[])
/*suite_free(s); */
/* no longer available in check 0.9.0; it will leak a
* bit with previous versions */
+ lasso_shutdown();
return (rc == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
}