|
rpm-build |
4f3c61 |
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
#include "test-utils.h"
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static gboolean server_processed_message;
|
|
rpm-build |
4f3c61 |
static gboolean timeout;
|
|
rpm-build |
4f3c61 |
static GMainLoop *loop;
|
|
rpm-build |
4f3c61 |
static SoupMessagePriority expected_priorities[3];
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static gboolean
|
|
rpm-build |
4f3c61 |
timeout_cb (gpointer user_data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
gboolean *timeout = user_data;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
*timeout = TRUE;
|
|
rpm-build |
4f3c61 |
return FALSE;
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
server_handler (SoupServer *server,
|
|
rpm-build |
4f3c61 |
SoupMessage *msg,
|
|
rpm-build |
4f3c61 |
const char *path,
|
|
rpm-build |
4f3c61 |
GHashTable *query,
|
|
rpm-build |
4f3c61 |
SoupClientContext *client,
|
|
rpm-build |
4f3c61 |
gpointer user_data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
if (!strcmp (path, "/request-timeout")) {
|
|
rpm-build |
4f3c61 |
GMainContext *context = g_main_context_get_thread_default ();
|
|
rpm-build |
4f3c61 |
GSource *timer;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
timer = g_timeout_source_new (100);
|
|
rpm-build |
4f3c61 |
g_source_set_callback (timer, timeout_cb, &timeout, NULL);
|
|
rpm-build |
4f3c61 |
g_source_attach (timer, context);
|
|
rpm-build |
4f3c61 |
g_source_unref (timer);
|
|
rpm-build |
4f3c61 |
} else
|
|
rpm-build |
4f3c61 |
server_processed_message = TRUE;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_message_set_status (msg, SOUP_STATUS_OK);
|
|
rpm-build |
4f3c61 |
soup_message_set_response (msg, "text/plain",
|
|
rpm-build |
4f3c61 |
SOUP_MEMORY_STATIC,
|
|
rpm-build |
4f3c61 |
"ok\r\n", 4);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
finished_cb (SoupSession *session, SoupMessage *msg, gpointer user_data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
gboolean *finished = user_data;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
*finished = TRUE;
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
cancel_message_cb (SoupMessage *msg, gpointer session)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
soup_session_cancel_message (session, msg, SOUP_STATUS_CANCELLED);
|
|
rpm-build |
4f3c61 |
g_main_loop_quit (loop);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
do_test_for_session (SoupSession *session, SoupURI *uri,
|
|
rpm-build |
4f3c61 |
gboolean queue_is_async,
|
|
rpm-build |
4f3c61 |
gboolean send_is_blocking,
|
|
rpm-build |
4f3c61 |
gboolean cancel_is_immediate)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupMessage *msg;
|
|
rpm-build |
4f3c61 |
gboolean finished, local_timeout;
|
|
rpm-build |
4f3c61 |
guint timeout_id;
|
|
rpm-build |
4f3c61 |
SoupURI *timeout_uri;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
debug_printf (1, " queue_message\n");
|
|
rpm-build |
4f3c61 |
debug_printf (2, " requesting timeout\n");
|
|
rpm-build |
4f3c61 |
timeout_uri = soup_uri_new_with_base (uri, "/request-timeout");
|
|
rpm-build |
4f3c61 |
msg = soup_message_new_from_uri ("GET", timeout_uri);
|
|
rpm-build |
4f3c61 |
soup_uri_free (timeout_uri);
|
|
rpm-build |
4f3c61 |
soup_session_send_message (session, msg);
|
|
rpm-build |
4f3c61 |
g_object_unref (msg);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
msg = soup_message_new_from_uri ("GET", uri);
|
|
rpm-build |
4f3c61 |
server_processed_message = timeout = finished = FALSE;
|
|
rpm-build |
4f3c61 |
soup_session_queue_message (session, msg, finished_cb, &finished);
|
|
rpm-build |
4f3c61 |
while (!timeout)
|
|
rpm-build |
4f3c61 |
g_usleep (100);
|
|
rpm-build |
4f3c61 |
debug_printf (2, " got timeout\n");
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
if (queue_is_async) {
|
|
rpm-build |
4f3c61 |
g_assert_false (server_processed_message);
|
|
rpm-build |
4f3c61 |
debug_printf (2, " waiting for finished\n");
|
|
rpm-build |
4f3c61 |
while (!finished)
|
|
rpm-build |
4f3c61 |
g_main_context_iteration (NULL, TRUE);
|
|
rpm-build |
4f3c61 |
g_assert_true (server_processed_message);
|
|
rpm-build |
4f3c61 |
} else {
|
|
rpm-build |
4f3c61 |
g_assert_true (server_processed_message);
|
|
rpm-build |
4f3c61 |
g_assert_false (finished);
|
|
rpm-build |
4f3c61 |
debug_printf (2, " waiting for finished\n");
|
|
rpm-build |
4f3c61 |
while (!finished)
|
|
rpm-build |
4f3c61 |
g_main_context_iteration (NULL, TRUE);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
debug_printf (1, " send_message\n");
|
|
rpm-build |
4f3c61 |
msg = soup_message_new_from_uri ("GET", uri);
|
|
rpm-build |
4f3c61 |
server_processed_message = local_timeout = FALSE;
|
|
rpm-build |
4f3c61 |
timeout_id = g_idle_add_full (G_PRIORITY_HIGH, timeout_cb, &local_timeout, NULL);
|
|
rpm-build |
4f3c61 |
soup_session_send_message (session, msg);
|
|
rpm-build |
4f3c61 |
g_object_unref (msg);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_assert_true (server_processed_message);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
if (send_is_blocking) {
|
|
rpm-build |
4f3c61 |
soup_test_assert (!local_timeout,
|
|
rpm-build |
4f3c61 |
"send_message ran main loop");
|
|
rpm-build |
4f3c61 |
} else {
|
|
rpm-build |
4f3c61 |
soup_test_assert (local_timeout,
|
|
rpm-build |
4f3c61 |
"send_message didn't run main loop");
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
if (!local_timeout)
|
|
rpm-build |
4f3c61 |
g_source_remove (timeout_id);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
if (!queue_is_async)
|
|
rpm-build |
4f3c61 |
return;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
debug_printf (1, " cancel_message\n");
|
|
rpm-build |
4f3c61 |
msg = soup_message_new_from_uri ("GET", uri);
|
|
rpm-build |
4f3c61 |
g_object_ref (msg);
|
|
rpm-build |
4f3c61 |
finished = FALSE;
|
|
rpm-build |
4f3c61 |
soup_session_queue_message (session, msg, finished_cb, &finished);
|
|
rpm-build |
4f3c61 |
g_signal_connect (msg, "wrote-headers",
|
|
rpm-build |
4f3c61 |
G_CALLBACK (cancel_message_cb), session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
loop = g_main_loop_new (NULL, FALSE);
|
|
rpm-build |
4f3c61 |
g_main_loop_run (loop);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
if (cancel_is_immediate)
|
|
rpm-build |
4f3c61 |
g_assert_true (finished);
|
|
rpm-build |
4f3c61 |
else
|
|
rpm-build |
4f3c61 |
g_assert_false (finished);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
if (!finished) {
|
|
rpm-build |
4f3c61 |
debug_printf (2, " waiting for finished\n");
|
|
rpm-build |
4f3c61 |
while (!finished)
|
|
rpm-build |
4f3c61 |
g_main_context_iteration (NULL, TRUE);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
g_main_loop_unref (loop);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_test_assert_message_status (msg, SOUP_STATUS_CANCELLED);
|
|
rpm-build |
4f3c61 |
g_object_unref (msg);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
do_plain_tests (gconstpointer data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupURI *uri = (SoupURI *)data;
|
|
rpm-build |
4f3c61 |
SoupSession *session;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = soup_test_session_new (SOUP_TYPE_SESSION, NULL);
|
|
rpm-build |
4f3c61 |
do_test_for_session (session, uri, TRUE, TRUE, FALSE);
|
|
rpm-build |
4f3c61 |
soup_test_session_abort_unref (session);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
do_async_tests (gconstpointer data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupURI *uri = (SoupURI *)data;
|
|
rpm-build |
4f3c61 |
SoupSession *session;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL);
|
|
rpm-build |
4f3c61 |
do_test_for_session (session, uri, TRUE, FALSE, TRUE);
|
|
rpm-build |
4f3c61 |
soup_test_session_abort_unref (session);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
do_sync_tests (gconstpointer data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupURI *uri = (SoupURI *)data;
|
|
rpm-build |
4f3c61 |
SoupSession *session;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = soup_test_session_new (SOUP_TYPE_SESSION_SYNC, NULL);
|
|
rpm-build |
4f3c61 |
do_test_for_session (session, uri, FALSE, TRUE, FALSE);
|
|
rpm-build |
4f3c61 |
soup_test_session_abort_unref (session);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
priority_test_finished_cb (SoupSession *session, SoupMessage *msg, gpointer user_data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
guint *finished_count = user_data;
|
|
rpm-build |
4f3c61 |
SoupMessagePriority priority = soup_message_get_priority (msg);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
debug_printf (1, " received message %d with priority %d\n",
|
|
rpm-build |
4f3c61 |
*finished_count, priority);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_test_assert (priority == expected_priorities[*finished_count],
|
|
rpm-build |
4f3c61 |
"message %d should have priority %d (%d found)",
|
|
rpm-build |
4f3c61 |
*finished_count, expected_priorities[*finished_count], priority);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
(*finished_count)++;
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
do_priority_tests (gconstpointer data)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupURI *uri = (SoupURI *)data;
|
|
rpm-build |
4f3c61 |
SoupSession *session;
|
|
rpm-build |
4f3c61 |
int i, finished_count = 0;
|
|
rpm-build |
4f3c61 |
SoupMessagePriority priorities[] =
|
|
rpm-build |
4f3c61 |
{ SOUP_MESSAGE_PRIORITY_LOW,
|
|
rpm-build |
4f3c61 |
SOUP_MESSAGE_PRIORITY_HIGH,
|
|
rpm-build |
4f3c61 |
SOUP_MESSAGE_PRIORITY_NORMAL };
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_test_bug ("696277");
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL);
|
|
rpm-build |
4f3c61 |
g_object_set (session, "max-conns", 1, NULL);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
expected_priorities[0] = SOUP_MESSAGE_PRIORITY_HIGH;
|
|
rpm-build |
4f3c61 |
expected_priorities[1] = SOUP_MESSAGE_PRIORITY_NORMAL;
|
|
rpm-build |
4f3c61 |
expected_priorities[2] = SOUP_MESSAGE_PRIORITY_LOW;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
for (i = 0; i < 3; i++) {
|
|
rpm-build |
4f3c61 |
SoupURI *msg_uri;
|
|
rpm-build |
4f3c61 |
SoupMessage *msg;
|
|
rpm-build |
4f3c61 |
char buf[5];
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_snprintf (buf, sizeof (buf), "%d", i);
|
|
rpm-build |
4f3c61 |
msg_uri = soup_uri_new_with_base (uri, buf);
|
|
rpm-build |
4f3c61 |
msg = soup_message_new_from_uri ("GET", msg_uri);
|
|
rpm-build |
4f3c61 |
soup_uri_free (msg_uri);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_message_set_priority (msg, priorities[i]);
|
|
rpm-build |
4f3c61 |
soup_session_queue_message (session, msg, priority_test_finished_cb, &finished_count);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
debug_printf (2, " waiting for finished\n");
|
|
rpm-build |
4f3c61 |
while (finished_count != 3)
|
|
rpm-build |
4f3c61 |
g_main_context_iteration (NULL, TRUE);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_test_session_abort_unref (session);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
test_session_properties (const char *name,
|
|
rpm-build |
4f3c61 |
SoupSession *session,
|
|
rpm-build |
4f3c61 |
GProxyResolver *expected_proxy_resolver,
|
|
rpm-build |
4f3c61 |
GTlsDatabase *expected_tls_database)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
GProxyResolver *proxy_resolver = NULL;
|
|
rpm-build |
4f3c61 |
GTlsDatabase *tlsdb = NULL;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_object_get (G_OBJECT (session),
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_PROXY_RESOLVER, &proxy_resolver,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_TLS_DATABASE, &tlsdb,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_test_assert (proxy_resolver == expected_proxy_resolver,
|
|
rpm-build |
4f3c61 |
"%s has %s proxy resolver",
|
|
rpm-build |
4f3c61 |
name, proxy_resolver ? (expected_proxy_resolver ? "wrong" : "a") : "no");
|
|
rpm-build |
4f3c61 |
soup_test_assert (tlsdb == expected_tls_database,
|
|
rpm-build |
4f3c61 |
"%s has %s TLS database",
|
|
rpm-build |
4f3c61 |
name, tlsdb ? (expected_tls_database ? "wrong" : "a") : "no");
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_clear_object (&proxy_resolver);
|
|
rpm-build |
4f3c61 |
g_clear_object (&tlsdb);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
static void
|
|
rpm-build |
4f3c61 |
do_property_tests (void)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupSession *session;
|
|
rpm-build |
4f3c61 |
GProxyResolver *proxy_resolver, *default_proxy_resolver;
|
|
rpm-build |
4f3c61 |
GTlsDatabase *tlsdb, *default_tlsdb;
|
|
rpm-build |
4f3c61 |
SoupURI *uri;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_test_bug ("708696");
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
default_proxy_resolver = g_proxy_resolver_get_default ();
|
|
rpm-build |
4f3c61 |
default_tlsdb = g_tls_backend_get_default_database (g_tls_backend_get_default ());
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
/* NOTE: We intentionally do not use soup_test_session_new() here */
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Base plain session", session,
|
|
rpm-build |
4f3c61 |
default_proxy_resolver, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_PROXY_RESOLVER, NULL,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with NULL :proxy-resolver", session,
|
|
rpm-build |
4f3c61 |
NULL, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
proxy_resolver = g_simple_proxy_resolver_new (NULL, NULL);
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_PROXY_RESOLVER, proxy_resolver,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with non-NULL :proxy-resolver", session,
|
|
rpm-build |
4f3c61 |
proxy_resolver, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (proxy_resolver);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_PROXY_URI, NULL,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with NULL :proxy-uri", session,
|
|
rpm-build |
4f3c61 |
NULL, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
uri = soup_uri_new ("http://example.com/");
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_PROXY_URI, uri,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
g_object_get (G_OBJECT (session),
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_PROXY_RESOLVER, &proxy_resolver,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with non-NULL :proxy-uri", session,
|
|
rpm-build |
4f3c61 |
proxy_resolver, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_assert_cmpstr (G_OBJECT_TYPE_NAME (proxy_resolver), ==, "GSimpleProxyResolver");
|
|
rpm-build |
4f3c61 |
g_object_unref (proxy_resolver);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
soup_uri_free (uri);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_REMOVE_FEATURE_BY_TYPE, SOUP_TYPE_PROXY_URI_RESOLVER,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with removed proxy resolver feature", session,
|
|
rpm-build |
4f3c61 |
NULL, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
G_GNUC_END_IGNORE_DEPRECATIONS;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_TLS_DATABASE, NULL,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with NULL :tls-database", session,
|
|
rpm-build |
4f3c61 |
default_proxy_resolver, NULL);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
/* g_tls_file_database_new() will fail with the dummy backend,
|
|
rpm-build |
4f3c61 |
* so we can only do this test if we have a real TLS backend.
|
|
rpm-build |
4f3c61 |
*/
|
|
rpm-build |
4f3c61 |
if (tls_available) {
|
|
rpm-build |
4f3c61 |
GError *error = NULL;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
tlsdb = g_tls_file_database_new (g_test_get_filename (G_TEST_DIST,
|
|
rpm-build |
4f3c61 |
"test-cert.pem",
|
|
rpm-build |
4f3c61 |
NULL), &error);
|
|
rpm-build |
4f3c61 |
g_assert_no_error (error);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_TLS_DATABASE, tlsdb,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with non-NULL :tls-database", session,
|
|
rpm-build |
4f3c61 |
default_proxy_resolver, tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, FALSE,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with :ssl-use-system-ca-file FALSE", session,
|
|
rpm-build |
4f3c61 |
default_proxy_resolver, NULL);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
session = g_object_new (SOUP_TYPE_SESSION,
|
|
rpm-build |
4f3c61 |
SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE,
|
|
rpm-build |
4f3c61 |
NULL);
|
|
rpm-build |
4f3c61 |
test_session_properties ("Session with :ssl-use-system-ca-file TRUE", session,
|
|
rpm-build |
4f3c61 |
default_proxy_resolver, default_tlsdb);
|
|
rpm-build |
4f3c61 |
g_object_unref (session);
|
|
rpm-build |
4f3c61 |
}
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
int
|
|
rpm-build |
4f3c61 |
main (int argc, char **argv)
|
|
rpm-build |
4f3c61 |
{
|
|
rpm-build |
4f3c61 |
SoupServer *server;
|
|
rpm-build |
4f3c61 |
SoupURI *uri;
|
|
rpm-build |
4f3c61 |
int ret;
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
test_init (argc, argv, NULL);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
server = soup_test_server_new (TRUE);
|
|
rpm-build |
4f3c61 |
soup_server_add_handler (server, NULL, server_handler, NULL, NULL);
|
|
rpm-build |
4f3c61 |
uri = soup_test_server_get_uri (server, "http", NULL);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
g_test_add_data_func ("/session/SoupSession", uri, do_plain_tests);
|
|
rpm-build |
4f3c61 |
g_test_add_data_func ("/session/SoupSessionAsync", uri, do_async_tests);
|
|
rpm-build |
4f3c61 |
g_test_add_data_func ("/session/SoupSessionSync", uri, do_sync_tests);
|
|
rpm-build |
4f3c61 |
g_test_add_data_func ("/session/priority", uri, do_priority_tests);
|
|
rpm-build |
4f3c61 |
g_test_add_func ("/session/property", do_property_tests);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
ret = g_test_run ();
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
soup_uri_free (uri);
|
|
rpm-build |
4f3c61 |
soup_test_server_quit_unref (server);
|
|
rpm-build |
4f3c61 |
|
|
rpm-build |
4f3c61 |
test_cleanup ();
|
|
rpm-build |
4f3c61 |
return ret;
|
|
rpm-build |
4f3c61 |
}
|