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