Files
Adminive/backend/tests/config_store_test.cpp
T
2026-08-07 08:39:15 +08:00

28 lines
1.1 KiB
C++

#include "config_store.hpp"
#include <cassert>
#include <filesystem>
#include <string>
int main() {
using namespace adminive::example;
const auto test_directory = std::filesystem::temp_directory_path() / "adminive_config_store_test";
const auto config_path = test_directory / "config" / "adminive.json";
std::filesystem::remove_all(test_directory);
{
Config_Store store(config_path);
assert(std::filesystem::exists(config_path));
assert(store.radio_service().snapshot().profile_name == "Primary Radio Profile");
auto updated = store.radio_service().snapshot();
updated.profile_name = "Persisted Profile";
store.persist_radio_service(updated);
assert(store.radio_service().snapshot().profile_name == "Persisted Profile");
assert(!std::filesystem::exists(config_path.string() + ".tmp"));
}
{
Config_Store store(config_path);
assert(store.radio_service().snapshot().profile_name == "Persisted Profile");
assert(store.default_device_type() == Device_Table_Type::serial);
}
std::filesystem::remove_all(test_directory);
return 0;
}