Test: add missing release of objects and memory

* tests/basic_tests.c:
 * tests/login_tests.c:
 * tests/metadata_tests.c:
 * tests/random_tests.c:
 * tests/tests.c:
   add missing g_free and g_object_unref calls.
This commit is contained in:
Benjamin Dauvergne 2009-03-27 15:06:25 +00:00
parent 84e5c3b66b
commit 70299b52ab
5 changed files with 65 additions and 12 deletions

View File

@ -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

View File

@ -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*

View File

@ -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

View File

@ -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

View File

@ -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;
}