diff --git a/tests/unit/plugins/relay/test-relay-http.cpp b/tests/unit/plugins/relay/test-relay-http.cpp index 72f816b92..dd5ad8745 100644 --- a/tests/unit/plugins/relay/test-relay-http.cpp +++ b/tests/unit/plugins/relay/test-relay-http.cpp @@ -538,6 +538,24 @@ TEST(RelayHttp, ParseHeader) CHECK(hashtable_has_key (request->accept_encoding, "br")); relay_http_request_free (request); + request = relay_http_request_alloc (); + CHECK(request); + relay_http_parse_method_path (request, "GET /api/version"); + relay_http_parse_header (request, "Accept-Encoding: gzip", 1); + relay_http_parse_header (request, "Accept-Encoding: zstd", 1); + LONGS_EQUAL(RELAY_HTTP_HEADERS, request->status); + STRCMP_EQUAL("GET /api/version\n" + "Accept-Encoding: gzip\n" + "Accept-Encoding: zstd\n", + *(request->raw)); + LONGS_EQUAL(1, request->headers->items_count); + STRCMP_EQUAL("gzip, zstd", + (const char *)hashtable_get (request->headers, "accept-encoding")); + LONGS_EQUAL(2, request->accept_encoding->items_count); + CHECK(hashtable_has_key (request->accept_encoding, "gzip")); + CHECK(hashtable_has_key (request->accept_encoding, "zstd")); + relay_http_request_free (request); + request = relay_http_request_alloc (); CHECK(request); relay_http_parse_method_path (request, "GET /api/version");