2022-07-05 10:02:43 +02:00
|
|
|
|
|
|
|
|
|
|
|
#include <mission/utility/GlobalConfigHandler.h>
|
2022-07-14 17:35:49 +02:00
|
|
|
#include <objects/systemObjectList.h>
|
|
|
|
|
2022-07-05 10:02:43 +02:00
|
|
|
#include <catch2/catch_test_macros.hpp>
|
|
|
|
#include <fstream>
|
|
|
|
#include <iostream>
|
|
|
|
#include <stdexcept>
|
|
|
|
|
|
|
|
#include "../testEnvironment.h"
|
|
|
|
|
|
|
|
TEST_CASE("Configfile Handler", "[ConfigHandler]") {
|
2022-07-14 17:35:49 +02:00
|
|
|
sif::debug << "Testcase config file handler" << std::endl;
|
|
|
|
// Init handler
|
2022-09-29 13:20:05 +02:00
|
|
|
GlobalConfigHandler confighandler = GlobalConfigHandler(objects::GLOBAL_JSON_CFG, "JSON.config");
|
|
|
|
REQUIRE(confighandler.initialize() == returnvalue::OK);
|
2022-07-05 10:02:43 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
// Reset handler
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.ResetConfigFile() == returnvalue::OK);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
// Get and set double as well as int values
|
|
|
|
double doubleData = 0.0;
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.getConfigFileValue(PARAM0, doubleData) == returnvalue::OK);
|
2022-07-14 17:35:49 +02:00
|
|
|
REQUIRE(doubleData == 5.0);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
doubleData = 55.9;
|
|
|
|
double doubleDataRead = 0;
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.setConfigFileValue(PARAM0, doubleData) == returnvalue::OK);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.getConfigFileValue(PARAM0, doubleDataRead) == returnvalue::OK);
|
2022-07-14 17:35:49 +02:00
|
|
|
REQUIRE(doubleDataRead == doubleData);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.WriteConfigFile() == returnvalue::OK);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
int intData = 0;
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.getConfigFileValue(PARAM1, intData) == returnvalue::OK);
|
2022-07-14 17:35:49 +02:00
|
|
|
REQUIRE(intData == 905);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
intData = 1337;
|
|
|
|
int intDataRead = 0;
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.setConfigFileValue(PARAM1, intData) == returnvalue::OK);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.getConfigFileValue(PARAM1, intDataRead) == returnvalue::OK);
|
2022-07-14 17:35:49 +02:00
|
|
|
REQUIRE(intDataRead == intData);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.WriteConfigFile() == returnvalue::OK);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
// Check file name
|
|
|
|
REQUIRE(confighandler.getConfigFileName() == "JSON.config");
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
// Reset and check if it worked
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.ResetConfigFile() == returnvalue::OK);
|
2022-07-05 12:57:50 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
doubleData = 0.0;
|
2022-09-29 13:20:05 +02:00
|
|
|
REQUIRE(confighandler.getConfigFileValue(PARAM0, doubleData) == returnvalue::OK);
|
2022-07-14 17:35:49 +02:00
|
|
|
REQUIRE(doubleData == 5.0);
|
2022-07-05 14:56:31 +02:00
|
|
|
|
2022-07-14 17:35:49 +02:00
|
|
|
// Test invalid Parameter
|
|
|
|
REQUIRE(confighandler.getConfigFileValue(PARAM2, doubleData) !=
|
2022-09-29 13:20:05 +02:00
|
|
|
returnvalue::OK); // NVMParameterBase::KEY_NOT_EXISTS is private, why?
|
|
|
|
REQUIRE(confighandler.setConfigFileValue(PARAM2, doubleData) != returnvalue::OK);
|
2022-09-29 13:23:55 +02:00
|
|
|
std::filesystem::remove("JSON.config");
|
2022-07-05 10:02:43 +02:00
|
|
|
}
|