diff options
author | Timm Bäder <mail@baedert.org> | 2016-04-23 16:47:16 +0200 |
---|---|---|
committer | Timm Bäder <mail@baedert.org> | 2016-04-23 16:47:16 +0200 |
commit | d67318bea95918934a348e17d697fd80f35f3675 (patch) | |
tree | a169fdfee6724f3239e7ec4f0eb097c5e4accbdc | |
parent | 1912ddc72a448d984835ebd2969096c303403634 (diff) | |
download | librest-d67318bea95918934a348e17d697fd80f35f3675.tar.gz |
tests/custom-serialize: Port to GTest api
-rw-r--r-- | tests/custom-serialize.c | 54 |
1 files changed, 30 insertions, 24 deletions
diff --git a/tests/custom-serialize.c b/tests/custom-serialize.c index 5cdf6d8..c3fde93 100644 --- a/tests/custom-serialize.c +++ b/tests/custom-serialize.c @@ -27,8 +27,7 @@ #include <libsoup/soup.h> #include <rest/rest-proxy.h> -static volatile int errors = 0; -static const gboolean verbose = FALSE; +#define PORT 8080 #define REST_TYPE_CUSTOM_PROXY_CALL custom_proxy_call_get_type() @@ -108,45 +107,52 @@ server_callback (SoupServer *server, SoupMessage *msg, } } -int -main (int argc, char **argv) +static void * +server_func (gpointer data) +{ + GMainLoop *loop = g_main_loop_new (NULL, FALSE); + SoupServer *server = soup_server_new (NULL, NULL); + GSocketAddress *address = g_inet_socket_address_new_from_string ("127.0.0.1", PORT); + + soup_server_add_handler (server, NULL, server_callback, NULL, NULL); + soup_server_listen (server, address, 0, NULL); + + g_main_loop_run (loop); + return NULL; +} + +static void +test_custom_serialize () { - SoupServer *server; RestProxy *proxy; RestProxyCall *call; char *url; GError *error = NULL; - server = soup_server_new (NULL); - soup_server_add_handler (server, NULL, server_callback, NULL, NULL); - url = g_strdup_printf ("http://127.0.0.1:%d/", soup_server_get_port (server)); + url = g_strdup_printf ("http://127.0.0.1:%d/", PORT); - g_thread_create ((GThreadFunc)soup_server_run, server, FALSE, NULL); + g_thread_new ("Server Thread", server_func, NULL); proxy = rest_proxy_new (url, FALSE); call = g_object_new (REST_TYPE_CUSTOM_PROXY_CALL, "proxy", proxy, NULL); rest_proxy_call_set_function (call, "wrong-function"); - if (!rest_proxy_call_sync (call, &error)) { - g_printerr ("Call failed: %s\n", error->message); - g_error_free (error); - g_atomic_int_add (&errors, 1); - goto done; - } + rest_proxy_call_sync (call, &error); + g_assert_no_error (error); - if (rest_proxy_call_get_status_code (call) != SOUP_STATUS_OK) { - g_printerr ("Wrong response code, got %d\n", rest_proxy_call_get_status_code (call)); - g_atomic_int_add (&errors, 1); - goto done; - } - - done: + g_assert_cmpint (rest_proxy_call_get_status_code (call), ==, SOUP_STATUS_OK); g_object_unref (call); g_object_unref (proxy); - soup_server_quit (server); g_free (url); +} + +int +main (int argc, char **argv) +{ + g_test_init (&argc, &argv, NULL); + g_test_add_func ("/custom-serialize/custom-serialize", test_custom_serialize); - return errors != 0; + return g_test_run (); } |