summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2016-04-23 16:26:04 +0200
committerTimm Bäder <mail@baedert.org>2016-04-23 16:26:04 +0200
commit8518b246b0ff970525c6381f299a267dd854b2dc (patch)
tree9e96028218b1afda968f739f29e29bd33140de43
parentb2b14ce84e1cfd205c788475f7fcd8d17a228d25 (diff)
downloadlibrest-8518b246b0ff970525c6381f299a267dd854b2dc.tar.gz
tests/oauth: Port to GTest api
-rw-r--r--tests/oauth.c73
1 files changed, 57 insertions, 16 deletions
diff --git a/tests/oauth.c b/tests/oauth.c
index 4d368ad..8c11f90 100644
--- a/tests/oauth.c
+++ b/tests/oauth.c
@@ -24,66 +24,107 @@
#include <rest/oauth-proxy-private.h>
#include <stdio.h>
-int
-main (int argc, char **argv)
+static void
+test_auth ()
{
RestProxy *proxy;
OAuthProxy *oproxy;
- OAuthProxyPrivate *priv;
+ GError *error = NULL;
+
+ /* Create the proxy */
+ proxy = oauth_proxy_new ("key", "secret",
+ "http://oauthbin.com/v1/",
+ FALSE);
+ oproxy = OAUTH_PROXY (proxy);
+ g_assert (oproxy);
+
+ /* First stage authentication, this gets a request token */
+ oauth_proxy_request_token (oproxy, "request-token", NULL, &error);
+ if (error != NULL && g_error_matches (error, REST_PROXY_ERROR, REST_PROXY_ERROR_CONNECTION))
+ return;
+
+ g_assert_no_error (error);
+ g_assert_cmpstr (oauth_proxy_get_token (oproxy), ==, "requestkey");
+ g_assert_cmpstr (oauth_proxy_get_token_secret (oproxy), ==, "requestsecret");
+
+ /* Second stage authentication, this gets an access token */
+ oauth_proxy_access_token (OAUTH_PROXY (proxy), "access-token", NULL, &error);
+ g_assert_no_error (error);
+
+ g_assert_cmpstr (oauth_proxy_get_token (oproxy), ==, "accesskey");
+ g_assert_cmpstr (oauth_proxy_get_token_secret (oproxy), ==, "accesssecret");
+
+ g_object_unref (proxy);
+}
+
+static void
+test_calls ()
+{
+ RestProxy *proxy;
RestProxyCall *call;
+ OAuthProxy *oproxy;
GError *error = NULL;
+
/* Create the proxy */
proxy = oauth_proxy_new ("key", "secret",
"http://oauthbin.com/v1/",
FALSE);
oproxy = OAUTH_PROXY (proxy);
g_assert (oproxy);
- priv = PROXY_GET_PRIVATE (oproxy);
/* First stage authentication, this gets a request token */
oauth_proxy_request_token (oproxy, "request-token", NULL, &error);
if (error != NULL && g_error_matches (error, REST_PROXY_ERROR, REST_PROXY_ERROR_CONNECTION))
- return 0;
+ return;
g_assert_no_error (error);
- g_assert_cmpstr (priv->token, ==, "requestkey");
- g_assert_cmpstr (priv->token_secret, ==, "requestsecret");
+ g_assert_cmpstr (oauth_proxy_get_token (oproxy), ==, "requestkey");
+ g_assert_cmpstr (oauth_proxy_get_token_secret (oproxy), ==, "requestsecret");
/* Second stage authentication, this gets an access token */
oauth_proxy_access_token (OAUTH_PROXY (proxy), "access-token", NULL, &error);
g_assert_no_error (error);
- g_assert_cmpstr (priv->token, ==, "accesskey");
- g_assert_cmpstr (priv->token_secret, ==, "accesssecret");
+ g_assert_cmpstr (oauth_proxy_get_token (oproxy), ==, "accesskey");
+ g_assert_cmpstr (oauth_proxy_get_token_secret (oproxy), ==, "accesssecret");
/* Make some test calls */
call = rest_proxy_new_call (proxy);
rest_proxy_call_set_function (call, "echo");
rest_proxy_call_add_param (call, "foo", "bar");
- if (!rest_proxy_call_sync (call, &error))
- g_error ("Cannot make call: %s", error->message);
+ rest_proxy_call_sync (call, &error);
+ g_assert_no_error (error);
g_assert_cmpstr (rest_proxy_call_get_payload (call), ==, "foo=bar");
g_object_unref (call);
call = rest_proxy_new_call (proxy);
rest_proxy_call_set_function (call, "echo");
rest_proxy_call_add_param (call, "numbers", "1234567890");
- if (!rest_proxy_call_sync (call, &error))
- g_error ("Cannot make call: %s", error->message);
+ rest_proxy_call_sync (call, &error);
+ g_assert_no_error (error);
g_assert_cmpstr (rest_proxy_call_get_payload (call), ==, "numbers=1234567890");
g_object_unref (call);
call = rest_proxy_new_call (proxy);
rest_proxy_call_set_function (call, "echo");
rest_proxy_call_add_param (call, "escape", "!+£$%^&*()");
- if (!rest_proxy_call_sync (call, &error))
- g_error ("Cannot make call: %s", error->message);
+ rest_proxy_call_sync (call, &error);
+ g_assert_no_error (error);
g_assert_cmpstr (rest_proxy_call_get_payload (call), ==, "escape=%21%2B%C2%A3%24%25%5E%26%2A%28%29");
g_object_unref (call);
+
g_object_unref (proxy);
+}
+
+int
+main (int argc, char **argv)
+{
+ g_test_init (&argc, &argv, NULL);
+ g_test_add_func ("/oauth/first-stage-auth", test_auth);
+ g_test_add_func ("/oauth/test-calls", test_calls);
- return 0;
+ return g_test_run ();
}