xref: /openbmc/bmcweb/test/include/ibm/configfile_test.cpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
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 
TEST(IsValidConfigFileName,FileNameValidCharReturnsTrue)15 TEST(IsValidConfigFileName, FileNameValidCharReturnsTrue)
16 {
17     crow::Response res;
18 
19     EXPECT_TRUE(isValidConfigFileName("GoodConfigFile", res));
20 }
TEST(IsValidConfigFileName,FileNameInvalidCharReturnsFalse)21 TEST(IsValidConfigFileName, FileNameInvalidCharReturnsFalse)
22 {
23     crow::Response res;
24 
25     EXPECT_FALSE(isValidConfigFileName("Bad@file", res));
26 }
TEST(IsValidConfigFileName,FileNameInvalidPathReturnsFalse)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 
TEST(IsValidConfigFileName,EmptyFileNameReturnsFalse)36 TEST(IsValidConfigFileName, EmptyFileNameReturnsFalse)
37 {
38     crow::Response res;
39     EXPECT_FALSE(isValidConfigFileName("", res));
40 }
41 
TEST(IsValidConfigFileName,SlashFileNameReturnsFalse)42 TEST(IsValidConfigFileName, SlashFileNameReturnsFalse)
43 {
44     crow::Response res;
45     EXPECT_FALSE(isValidConfigFileName("/", res));
46 }
TEST(IsValidConfigFileName,FileNameMoreThan20CharReturnsFalse)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