summaryrefslogtreecommitdiff
path: root/tests/no-ssl-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/no-ssl-test.c')
-rw-r--r--tests/no-ssl-test.c98
1 files changed, 27 insertions, 71 deletions
diff --git a/tests/no-ssl-test.c b/tests/no-ssl-test.c
index ab1bdc3a..5944b91b 100644
--- a/tests/no-ssl-test.c
+++ b/tests/no-ssl-test.c
@@ -3,38 +3,28 @@
#include "test-utils.h"
static void
-do_ssl_test_for_session (SoupSession *session, char *uri)
+do_ssl_test_for_session (SoupSession *session, const char *uri)
{
SoupMessage *msg;
- GTlsCertificate *cert;
+ GTlsCertificate *cert = NULL;
GTlsCertificateFlags flags;
+ gboolean is_https;
msg = soup_message_new ("GET", uri);
soup_session_send_message (session, msg);
- if (msg->status_code != SOUP_STATUS_SSL_FAILED) {
- debug_printf (1, " Unexpected status: %d %s\n",
- msg->status_code, msg->reason_phrase);
- errors++;
- }
-
- if (soup_message_get_https_status (msg, &cert, &flags)) {
- debug_printf (1, " get_http_status() returned TRUE? (flags %x)\n", flags);
- errors++;
- if (cert) {
- debug_printf (1, " Got GTlsCertificate?\n");
- errors++;
- }
- }
- if (soup_message_get_flags (msg) & SOUP_MESSAGE_CERTIFICATE_TRUSTED) {
- debug_printf (1, " CERTIFICATE_TRUSTED set?\n");
- errors++;
- }
+ soup_test_assert_message_status (msg, SOUP_STATUS_SSL_FAILED);
+
+ is_https = soup_message_get_https_status (msg, &cert, &flags);
+ soup_test_assert (!is_https, "get_http_status() returned TRUE? (flags %x)", flags);
+
+ g_assert_null (cert);
+ g_assert_false (soup_message_get_flags (msg) & SOUP_MESSAGE_CERTIFICATE_TRUSTED);
g_object_unref (msg);
}
static void
-do_ssl_tests (char *uri)
+do_ssl_tests (gconstpointer uri)
{
SoupSession *session;
@@ -73,20 +63,9 @@ do_session_property_tests (void)
"tls-database", &tlsdb,
"ssl-ca-file", &ca_file,
NULL);
- if (use_system) {
- debug_printf (1, " ssl-use-system-ca-file defaults to TRUE?\n");
- errors++;
- }
- if (tlsdb) {
- debug_printf (1, " tls-database set by default?\n");
- errors++;
- g_object_unref (tlsdb);
- }
- if (ca_file) {
- debug_printf (1, " ca-file set by default?\n");
- errors++;
- g_free (ca_file);
- }
+ soup_test_assert (!use_system, "ssl-use-system-ca-file defaults to TRUE");
+ soup_test_assert (tlsdb == NULL, "tls-database set by default");
+ soup_test_assert (ca_file == NULL, "ca-file set by default");
g_object_set (G_OBJECT (session),
"ssl-use-system-ca-file", TRUE,
@@ -94,11 +73,7 @@ do_session_property_tests (void)
g_object_get (G_OBJECT (session),
"ssl-ca-file", &ca_file,
NULL);
- if (ca_file) {
- debug_printf (1, " setting ssl-use-system-ca-file set ssl-ca-file\n");
- errors++;
- g_free (ca_file);
- }
+ soup_test_assert (ca_file == NULL, "setting ssl-use-system-ca-file set ssl-ca-file");
g_object_set (G_OBJECT (session),
"ssl-ca-file", SRCDIR "/test-cert.pem",
@@ -108,20 +83,9 @@ do_session_property_tests (void)
"tls-database", &tlsdb,
"ssl-ca-file", &ca_file,
NULL);
- if (ca_file) {
- debug_printf (1, " setting ssl-ca-file did not fail\n");
- errors++;
- g_free (ca_file);
- }
- if (use_system) {
- debug_printf (1, " setting ssl-ca-file set ssl-use-system-ca-file\n");
- errors++;
- }
- if (tlsdb) {
- debug_printf (1, " setting ssl-ca-file set tls-database\n");
- errors++;
- g_object_unref (tlsdb);
- }
+ soup_test_assert (ca_file == NULL, "setting ssl-ca-file did not fail");
+ soup_test_assert (!use_system, "setting ssl-ca-file set ssl-use-system-ca-file");
+ soup_test_assert (tlsdb == NULL, "setting ssl-ca-file set tls-database");
g_object_set (G_OBJECT (session),
"tls-database", NULL,
@@ -131,20 +95,9 @@ do_session_property_tests (void)
"tls-database", &tlsdb,
"ssl-ca-file", &ca_file,
NULL);
- if (tlsdb) {
- debug_printf (1, " setting tls-database NULL failed\n");
- errors++;
- g_object_unref (tlsdb);
- }
- if (use_system) {
- debug_printf (1, " setting tls-database NULL set ssl-use-system-ca-file\n");
- errors++;
- }
- if (ca_file) {
- debug_printf (1, " setting tls-database NULL set ssl-ca-file\n");
- errors++;
- g_free (ca_file);
- }
+ soup_test_assert (tlsdb == NULL, "setting tls-database NULL failed");
+ soup_test_assert (!use_system, "setting tls-database NULL set ssl-use-system-ca-file");
+ soup_test_assert (ca_file == NULL, "setting tls-database NULL set ssl-ca-file");
soup_test_session_abort_unref (session);
}
@@ -168,6 +121,7 @@ main (int argc, char **argv)
{
SoupServer *server;
char *uri;
+ int ret;
/* Force this test to use the dummy TLS backend */
g_setenv ("GIO_USE_TLS", "dummy", TRUE);
@@ -183,12 +137,14 @@ main (int argc, char **argv)
uri = g_strdup_printf ("https://127.0.0.1:%u/",
soup_server_get_port (server));
- do_session_property_tests ();
- do_ssl_tests (uri);
+ g_test_add_func ("/no-ssl/session-properties", do_session_property_tests);
+ g_test_add_data_func ("/no-ssl/request-error", uri, do_ssl_tests);
+
+ ret = g_test_run ();
g_free (uri);
soup_test_server_quit_unref (server);
test_cleanup ();
- return errors != 0;
+ return ret;
}