fix: Check result of parsing config (#1829)

This commit is contained in:
Sergey Kuznetsov
2025-01-14 16:55:05 +00:00
committed by GitHub
parent 2cf849dd12
commit 7834b63b55
3 changed files with 9 additions and 10 deletions

View File

@@ -35,7 +35,7 @@ namespace app {
* @return true if config values are all correct, false otherwise
*/
inline bool
verifyConfig(std::string_view configPath)
parseConfig(std::string_view configPath)
{
using namespace util::config;
@@ -54,4 +54,5 @@ verifyConfig(std::string_view configPath)
}
return true;
}
} // namespace app

View File

@@ -41,15 +41,14 @@ try {
return action.apply(
[](app::CliArgs::Action::Exit const& exit) { return exit.exitCode; },
[](app::CliArgs::Action::VerifyConfig const& verify) {
if (app::verifyConfig(verify.configPath)) {
if (app::parseConfig(verify.configPath)) {
std::cout << "Config " << verify.configPath << " is correct" << "\n";
return EXIT_SUCCESS;
}
return EXIT_FAILURE;
},
[](app::CliArgs::Action::Run const& run) {
auto const res = app::verifyConfig(run.configPath);
if (res != EXIT_SUCCESS)
if (not app::parseConfig(run.configPath))
return EXIT_FAILURE;
util::LogService::init(gClioConfig);
@@ -57,8 +56,7 @@ try {
return clio.run(run.useNgWebServer);
},
[](app::CliArgs::Action::Migrate const& migrate) {
auto const res = app::verifyConfig(migrate.configPath);
if (res != EXIT_SUCCESS)
if (not app::parseConfig(migrate.configPath))
return EXIT_FAILURE;
util::LogService::init(gClioConfig);

View File

@@ -31,7 +31,7 @@ TEST(VerifyConfigTest, InvalidConfig)
auto const tmpConfigFile = TmpFile(kJSON_DATA);
// false because json data(kJSON_DATA) is not compatible with current configDefintion
EXPECT_FALSE(verifyConfig(tmpConfigFile.path));
EXPECT_FALSE(parseConfig(tmpConfigFile.path));
}
TEST(VerifyConfigTest, ValidConfig)
@@ -46,12 +46,12 @@ TEST(VerifyConfigTest, ValidConfig)
auto const tmpConfigFile = TmpFile(kVALID_JSON_DATA);
// current example config should always be compatible with configDefinition
EXPECT_TRUE(verifyConfig(tmpConfigFile.path));
EXPECT_TRUE(parseConfig(tmpConfigFile.path));
}
TEST(VerifyConfigTest, ConfigFileNotExist)
{
EXPECT_FALSE(verifyConfig("doesn't exist Config File"));
EXPECT_FALSE(parseConfig("doesn't exist Config File"));
}
TEST(VerifyConfigTest, InvalidJsonFile)
@@ -65,5 +65,5 @@ TEST(VerifyConfigTest, InvalidJsonFile)
})";
auto const tmpConfigFile = TmpFile(kINVALID_JSON);
EXPECT_FALSE(verifyConfig(tmpConfigFile.path));
EXPECT_FALSE(parseConfig(tmpConfigFile.path));
}