summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Chimento <philip@endlessm.com>2019-11-18 15:45:51 -0800
committerPhilip Chimento <philip.chimento@gmail.com>2020-11-21 09:13:02 -0800
commitc5fc923e77575f70f4e7a350a867b7b1990b17f3 (patch)
tree7ef7928fa9fa3022070965a7fcd495852916ac9c
parent176328f698cd28a609de764761b0f84d04c84b0d (diff)
downloadlibsoup-c5fc923e77575f70f4e7a350a867b7b1990b17f3.tar.gz
tests: Add convenient soup_test_assert_handled_by()
This code is repeated a few times, so move it into a macro similar to soup_test_assert_message_status(). This macro will be used a few more times in a subsequent commit.
-rw-r--r--tests/server-test.c13
-rw-r--r--tests/test-utils.h18
2 files changed, 21 insertions, 10 deletions
diff --git a/tests/server-test.c b/tests/server-test.c
index f2ea4584..c2f79ed2 100644
--- a/tests/server-test.c
+++ b/tests/server-test.c
@@ -126,7 +126,6 @@ do_star_test (ServerData *sd, gconstpointer test_data)
{
SoupSession *session;
SoupMessage *msg;
- const char *handled_by;
g_test_bug ("590751");
@@ -141,9 +140,7 @@ do_star_test (ServerData *sd, gconstpointer test_data)
soup_test_session_send_message (session, msg);
soup_test_assert_message_status (msg, SOUP_STATUS_NOT_FOUND);
- handled_by = soup_message_headers_get_one (soup_message_get_response_headers (msg),
- "X-Handled-By");
- g_assert_cmpstr (handled_by, ==, NULL);
+ soup_test_assert_handled_by (msg, NULL);
g_object_unref (msg);
server_add_handler (sd, "*", server_star_callback, NULL, NULL);
@@ -157,9 +154,7 @@ do_star_test (ServerData *sd, gconstpointer test_data)
soup_test_session_send_message (session, msg);
soup_test_assert_message_status (msg, SOUP_STATUS_OK);
- handled_by = soup_message_headers_get_one (soup_message_get_response_headers (msg),
- "X-Handled-By");
- g_assert_cmpstr (handled_by, ==, "star_callback");
+ soup_test_assert_handled_by (msg, "star_callback");
g_object_unref (msg);
soup_test_session_abort_unref (session);
@@ -1393,7 +1388,6 @@ do_steal_connect_test (ServerData *sd, gconstpointer test_data)
GUri *proxy_uri;
char *proxy_uri_str;
GProxyResolver *resolver;
- const char *handled_by;
SOUP_TEST_SKIP_IF_NO_TLS;
@@ -1409,8 +1403,7 @@ do_steal_connect_test (ServerData *sd, gconstpointer test_data)
soup_test_session_send_message (session, msg);
soup_test_assert_message_status (msg, SOUP_STATUS_OK);
- handled_by = soup_message_headers_get_one (soup_message_get_response_headers (msg), "X-Handled-By");
- g_assert_cmpstr (handled_by, ==, "server_callback");
+ soup_test_assert_handled_by (msg, "server_callback");
g_object_unref (msg);
soup_test_session_abort_unref (session);
diff --git a/tests/test-utils.h b/tests/test-utils.h
index 38241cb8..22e5e150 100644
--- a/tests/test-utils.h
+++ b/tests/test-utils.h
@@ -126,6 +126,24 @@ G_STMT_START { \
} \
} G_STMT_END
+#define soup_test_assert_handled_by(msg, string) \
+G_STMT_START { \
+ SoupMessage *_msg = (msg); \
+ const char *_handled_by; \
+ const char *_expected = (char *) (string); \
+ char *_message; \
+ _handled_by = soup_message_headers_get_one (soup_message_get_response_headers (_msg), \
+ "X-Handled-By"); \
+ if (G_UNLIKELY (g_strcmp0 (_handled_by, _expected) != 0)) { \
+ _message = g_strdup_printf ("Request was handled by %s (expected %s)", \
+ _handled_by, _expected); \
+ g_assertion_message (G_LOG_DOMAIN, \
+ __FILE__, __LINE__, G_STRFUNC, \
+ _message); \
+ g_free (_message); \
+ } \
+} G_STMT_END
+
#define soup_assert_cmpmem(s1, l1, s2, l2) \
G_STMT_START { \
int __l1 = l1, __l2 = l2; \