#include #include #include #include #include "libreichwein/file.h" #include "config.h" namespace fs = std::filesystem; using namespace Reichwein; namespace { const std::string testConfigFilename{"./test.conf"}; const std::string testDbFilename{"./whiteboard.db3"}; } class ConfigTest: public ::testing::Test { protected: ConfigTest(){ } ~ConfigTest(){ } }; TEST_F(ConfigTest, defaultData) { std::string filename{testConfigFilename + "doesntexist"}; std::error_code ec; fs::remove(filename, ec); ASSERT_TRUE(!fs::exists(filename)); { Config config{filename}; EXPECT_EQ(config.getDataPath(), "/var/lib/whiteboard"); EXPECT_EQ(config.getMaxage(), 0UL); ASSERT_TRUE(!fs::exists(filename)); } ASSERT_TRUE(!fs::exists(filename)); } TEST_F(ConfigTest, testData) { File::setFile(testConfigFilename, R"CONFIG( /some/other/location 2592000 )CONFIG"); { Config config{testConfigFilename}; EXPECT_EQ(config.getDataPath(), "/some/other/location"); EXPECT_EQ(config.getMaxage(), 2592000UL); } std::error_code ec; fs::remove(testConfigFilename, ec); }