1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #include "http/parsing.hpp" 4 5 #include <gtest/gtest.h> 6 7 namespace 8 { 9 TEST(HttpParsing,isJsonContentType)10TEST(HttpParsing, isJsonContentType) 11 { 12 EXPECT_TRUE(isJsonContentType("application/json")); 13 14 // The Redfish specification DSP0266 shows no space between the ; and 15 // charset. 16 EXPECT_TRUE(isJsonContentType("application/json;charset=utf-8")); 17 EXPECT_TRUE(isJsonContentType("application/json;charset=ascii")); 18 19 // Sites like mozilla show the space included [1] 20 // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type 21 EXPECT_TRUE(isJsonContentType("application/json; charset=utf-8")); 22 23 EXPECT_TRUE(isJsonContentType("APPLICATION/JSON")); 24 EXPECT_TRUE(isJsonContentType("APPLICATION/JSON; CHARSET=UTF-8")); 25 EXPECT_TRUE(isJsonContentType("APPLICATION/JSON;CHARSET=UTF-8")); 26 27 EXPECT_FALSE(isJsonContentType("application/xml")); 28 EXPECT_FALSE(isJsonContentType("")); 29 EXPECT_FALSE(isJsonContentType(";")); 30 EXPECT_FALSE(isJsonContentType("application/json;")); 31 EXPECT_FALSE(isJsonContentType("application/json; ")); 32 EXPECT_FALSE(isJsonContentType("json")); 33 } 34 } // namespace 35