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