summaryrefslogtreecommitdiff
path: root/tests/hsts-test.c
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2018-08-29 16:46:15 +0300
committerClaudio Saavedra <csaavedra@igalia.com>2019-05-22 14:59:14 +0000
commit702ee17ff5c436b8bb00109c163462ae37b85247 (patch)
tree0e32e56165f36f72a7a2d0a936f2e19cde166c6e /tests/hsts-test.c
parentafb268be05071b8b74b2fa3c4b3b3e07df8548f4 (diff)
downloadlibsoup-702ee17ff5c436b8bb00109c163462ae37b85247.tar.gz
Add test to check that no HSTS header does not remove a policy
Diffstat (limited to 'tests/hsts-test.c')
-rw-r--r--tests/hsts-test.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/hsts-test.c b/tests/hsts-test.c
index a372848e..0b291732 100644
--- a/tests/hsts-test.c
+++ b/tests/hsts-test.c
@@ -56,6 +56,8 @@ server_callback (SoupServer *server, SoupMessage *msg,
soup_message_headers_append (msg->response_headers,
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains");
+ } else if (strcmp (path, "/no-sts-header") == 0) {
+ /* Do not add anything */
} else if (strcmp (path, "/multiple-headers") == 0) {
soup_message_headers_append (msg->response_headers,
"Strict-Transport-Security",
@@ -244,6 +246,18 @@ do_hsts_set_and_delete_test (void)
}
static void
+do_hsts_no_hsts_header_test (void)
+{
+ SoupSession *session = hsts_session_new (NULL);
+ session_get_uri (session, "https://localhost/long-lasting", SOUP_STATUS_OK);
+ session_get_uri (session, "http://localhost", SOUP_STATUS_OK);
+ session_get_uri (session, "https://localhost/no-sts-header", SOUP_STATUS_OK);
+ session_get_uri (session, "http://localhost", SOUP_STATUS_OK);
+
+ soup_test_session_abort_unref (session);
+}
+
+static void
do_hsts_persistency_test (void)
{
SoupSession *session = hsts_session_new (NULL);
@@ -398,6 +412,7 @@ main (int argc, char **argv)
g_test_add_func ("/hsts/replace", do_hsts_replace_test);
g_test_add_func ("/hsts/update", do_hsts_update_test);
g_test_add_func ("/hsts/set_and_delete", do_hsts_set_and_delete_test);
+ g_test_add_func ("/hsts/no_hsts_header", do_hsts_no_hsts_header_test);
g_test_add_func ("/hsts/persistency", do_hsts_persistency_test);
g_test_add_func ("/hsts/subdomains", do_hsts_subdomains_test);
g_test_add_func ("/hsts/multiple-headers", do_hsts_multiple_headers_test);