Преглед на файлове

Fix unit test for SSL redirect

bel преди 11 години
родител
ревизия
2603a43dbf
променени са 1 файла, в които са добавени 15 реда и са изтрити 13 реда
  1. 15 13
      test/unit_test.c

+ 15 - 13
test/unit_test.c

@@ -63,8 +63,9 @@ static int s_failed_tests = 0;
 #define HTTPS_PORT HTTP_PORT
 #define LISTENING_ADDR "127.0.0.1:" HTTP_PORT
 #else
+#define HTTP_REDIRECT_PORT "8088"
 #define HTTPS_PORT "8443"
-#define LISTENING_ADDR "127.0.0.1:" HTTP_PORT ",127.0.0.1:" HTTPS_PORT "s"
+#define LISTENING_ADDR "127.0.0.1:" HTTP_PORT ",127.0.0.1:" HTTP_REDIRECT_PORT "r" ",127.0.0.1:" HTTPS_PORT "s"
 #endif
 
 static void test_parse_http_message() {
@@ -510,24 +511,25 @@ static void test_mg_download(int use_ssl) {
     mg_close_connection(conn);
 
     /* Test non existent */
-    ASSERT((conn = mg_download("localhost", atoi(HTTP_PORT), 0,
+    ASSERT((conn = mg_download("localhost", port, use_ssl,
         ebuf, sizeof(ebuf), "%s",
-        "GET /redirect HTTP/1.1\r\n\r\n")) != NULL);
+        "GET /non_exist HTTP/1.1\r\n\r\n")) != NULL);
     ASSERT(strcmp(conn->request_info.request_method, "HTTP/1.1") == 0);
     ASSERT(strcmp(conn->request_info.uri, "404") == 0);
     ASSERT(strcmp(conn->request_info.http_version, "Not Found") == 0);
     mg_close_connection(conn);
 
-    /* Test SSL redirect */
-    /* TODO(bel):
-    ASSERT((conn = mg_download("localhost", atoi(HTTP_PORT), 0,
-        ebuf, sizeof(ebuf), "%s",
-        "GET /redirect HTTP/1.1\r\n\r\n")) != NULL);
-    ASSERT(strcmp(conn->request_info.uri, "302") == 0);
-    ASSERT(strcmp(mg_get_header(conn, "Location"),
-        "https://127.0.0.1:" HTTPS_PORT "/redirect") == 0);
-    mg_close_connection(conn);
-    */
+    if (use_ssl) {
+        /* Test SSL redirect */
+        ASSERT((conn = mg_download("localhost", atoi(HTTP_REDIRECT_PORT), 0,
+            ebuf, sizeof(ebuf), "%s",
+            "GET /data/4711 HTTP/1.1\r\n\r\n")) != NULL);
+        ASSERT(strcmp(conn->request_info.uri, "302") == 0);
+        h = mg_get_header(conn, "Location");
+        ASSERT(h != NULL);
+        ASSERT(strcmp(h, "https://127.0.0.1:" HTTPS_PORT "/data/4711") == 0);
+        mg_close_connection(conn);
+    }
 
     mg_stop(ctx);
 }