test(http_server): add mock TCP client for black-box WS testing

This commit is contained in:
Ashish Sharma
2026-08-19 11:42:59 +08:00
parent f90cd7dd78
commit 78b878dbab
4 changed files with 390 additions and 2 deletions
@@ -1,3 +1,3 @@
idf_component_register(SRC_DIRS "."
PRIV_INCLUDE_DIRS "." "../../src" "../../src/port/esp32"
idf_component_register(SRC_DIRS "." "../mock_client"
PRIV_INCLUDE_DIRS "." "../../src" "../../src/port/esp32" "../mock_client"
PRIV_REQUIRES esp_http_server test_utils unity esp_timer)
@@ -6,6 +6,7 @@
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <esp_system.h>
#include <esp_http_server.h>
#include <esp_heap_caps.h>
@@ -20,6 +21,7 @@
#include "unity.h"
#include "test_utils.h"
#include "mock_http_server_client.h"
int pre_start_mem, post_stop_mem, post_stop_min_mem;
bool basic_sanity = true;
@@ -31,6 +33,30 @@ esp_err_t null_func(httpd_req_t *req)
return ESP_OK;
}
#ifdef CONFIG_HTTPD_WS_SUPPORT
static httpd_handle_t start_test_ws_server(uint16_t server_port, uint16_t ctrl_port)
{
httpd_handle_t hd = NULL;
httpd_config_t config = HTTPD_DEFAULT_CONFIG();
config.server_port = server_port;
config.ctrl_port = ctrl_port;
httpd_uri_t ws_uri = {
.uri = "/ws",
.method = HTTP_GET,
.handler = null_func,
.user_ctx = NULL,
.is_websocket = true,
.handle_ws_control_frames = false,
.supported_subprotocol = NULL,
};
TEST_ASSERT_EQUAL(ESP_OK, httpd_start(&hd, &config));
TEST_ASSERT_EQUAL(ESP_OK, httpd_register_uri_handler(hd, &ws_uri));
return hd;
}
#endif /* CONFIG_HTTPD_WS_SUPPORT */
httpd_uri_t handler_limit_uri (char* path)
{
httpd_uri_t uri = {