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