1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #include "http_response.hpp" 4 #include "ibm_management_console_rest.hpp" 5 6 #include <string> 7 8 #include <gtest/gtest.h> 9 10 namespace crow 11 { 12 namespace ibm_mc 13 { 14 15 TEST(IsValidConfigFileName, FileNameValidCharReturnsTrue) 16 { 17 crow::Response res; 18 19 EXPECT_TRUE(isValidConfigFileName("GoodConfigFile", res)); 20 } 21 TEST(IsValidConfigFileName, FileNameInvalidCharReturnsFalse) 22 { 23 crow::Response res; 24 25 EXPECT_FALSE(isValidConfigFileName("Bad@file", res)); 26 } 27 TEST(IsValidConfigFileName, FileNameInvalidPathReturnsFalse) 28 { 29 crow::Response res; 30 31 EXPECT_FALSE(isValidConfigFileName("/../../../../../etc/badpath", res)); 32 EXPECT_FALSE(isValidConfigFileName("/../../etc/badpath", res)); 33 EXPECT_FALSE(isValidConfigFileName("/mydir/configFile", res)); 34 } 35 36 TEST(IsValidConfigFileName, EmptyFileNameReturnsFalse) 37 { 38 crow::Response res; 39 EXPECT_FALSE(isValidConfigFileName("", res)); 40 } 41 42 TEST(IsValidConfigFileName, SlashFileNameReturnsFalse) 43 { 44 crow::Response res; 45 EXPECT_FALSE(isValidConfigFileName("/", res)); 46 } 47 TEST(IsValidConfigFileName, FileNameMoreThan20CharReturnsFalse) 48 { 49 crow::Response res; 50 EXPECT_FALSE(isValidConfigFileName("BadfileBadfileBadfile", res)); 51 } 52 53 } // namespace ibm_mc 54 } // namespace crow 55