diff options
Diffstat (limited to 'test/include/ibm/configfile_test.cpp')
-rw-r--r-- | test/include/ibm/configfile_test.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/include/ibm/configfile_test.cpp b/test/include/ibm/configfile_test.cpp new file mode 100644 index 0000000000..1d95a79066 --- /dev/null +++ b/test/include/ibm/configfile_test.cpp @@ -0,0 +1,56 @@ +#include "http_response.hpp" +#include "ibm/management_console_rest.hpp" + +#include <string> + +#include <gtest/gtest.h> // IWYU pragma: keep + +// IWYU pragma: no_include <gtest/gtest-message.h> +// IWYU pragma: no_include <gtest/gtest-test-part.h> +// IWYU pragma: no_include "gtest/gtest_pred_impl.h" + +namespace crow +{ +namespace ibm_mc +{ + +TEST(IsValidConfigFileName, FileNameValidCharReturnsTrue) +{ + crow::Response res; + + EXPECT_TRUE(isValidConfigFileName("GoodConfigFile", res)); +} +TEST(IsValidConfigFileName, FileNameInvalidCharReturnsFalse) +{ + crow::Response res; + + EXPECT_FALSE(isValidConfigFileName("Bad@file", res)); +} +TEST(IsValidConfigFileName, FileNameInvalidPathReturnsFalse) +{ + crow::Response res; + + EXPECT_FALSE(isValidConfigFileName("/../../../../../etc/badpath", res)); + EXPECT_FALSE(isValidConfigFileName("/../../etc/badpath", res)); + EXPECT_FALSE(isValidConfigFileName("/mydir/configFile", res)); +} + +TEST(IsValidConfigFileName, EmptyFileNameReturnsFalse) +{ + crow::Response res; + EXPECT_FALSE(isValidConfigFileName("", res)); +} + +TEST(IsValidConfigFileName, SlashFileNameReturnsFalse) +{ + crow::Response res; + EXPECT_FALSE(isValidConfigFileName("/", res)); +} +TEST(IsValidConfigFileName, FileNameMoreThan20CharReturnsFalse) +{ + crow::Response res; + EXPECT_FALSE(isValidConfigFileName("BadfileBadfileBadfile", res)); +} + +} // namespace ibm_mc +} // namespace crow |