大更新
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#include "adminive/adminive.hpp"
|
||||
#include <cassert>
|
||||
#include "adminive_test.hpp"
|
||||
#include <cstdint>
|
||||
#include <map>
|
||||
#include <optional>
|
||||
@@ -275,28 +275,28 @@ int main() {
|
||||
using Config = adapter_test::Config;
|
||||
const Json descriptor = adminive::to_descriptor_json_with_defaults<Json, Config>();
|
||||
const auto& fields = adminive::Json_Adapter<Json>::at(descriptor, "fields");
|
||||
assert((adminive::json_get<Json, std::string>(adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(fields, 0), "name")) == "worker_count"));
|
||||
assert((adminive::json_get<Json, int>(adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(fields, 0), "default")) == 4));
|
||||
ADMINIVE_CHECK((adminive::json_get<Json, std::string>(adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(fields, 0), "name")) == "worker_count"));
|
||||
ADMINIVE_CHECK((adminive::json_get<Json, int>(adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(fields, 0), "default")) == 4));
|
||||
const auto& presentation = adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(fields, 1), "presentation");
|
||||
const auto& options = adminive::Json_Adapter<Json>::at(presentation, "options");
|
||||
assert((adminive::json_get<Json, std::string>(adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(options, 0), "label")) == "主用"));
|
||||
ADMINIVE_CHECK((adminive::json_get<Json, std::string>(adminive::Json_Adapter<Json>::at(adminive::Json_Adapter<Json>::at(options, 0), "label")) == "主用"));
|
||||
Config config;
|
||||
Json patch = adminive::json_object<Json>();
|
||||
adminive::json_set(patch, "worker_count", 12);
|
||||
adminive::json_set(patch, "mode", "secondary");
|
||||
adminive::json_set(patch, "name", "updated");
|
||||
const auto result = adminive::apply_frontend_patch<Json>(config, patch);
|
||||
assert(result.success);
|
||||
assert(config.worker_count.value == 12);
|
||||
assert(config.mode == adapter_test::Mode::secondary);
|
||||
assert(config.name == "updated");
|
||||
ADMINIVE_CHECK(result.success);
|
||||
ADMINIVE_CHECK(config.worker_count.value == 12);
|
||||
ADMINIVE_CHECK(config.mode == adapter_test::Mode::secondary);
|
||||
ADMINIVE_CHECK(config.name == "updated");
|
||||
const Json encoded = adminive::to_json<Json>(config);
|
||||
assert((adminive::json_get<Json, int>(adminive::Json_Adapter<Json>::at(encoded, "worker_count")) == 12));
|
||||
assert((adminive::json_get<Json, std::string>(adminive::Json_Adapter<Json>::at(encoded, "mode")) == "secondary"));
|
||||
ADMINIVE_CHECK((adminive::json_get<Json, int>(adminive::Json_Adapter<Json>::at(encoded, "worker_count")) == 12));
|
||||
ADMINIVE_CHECK((adminive::json_get<Json, std::string>(adminive::Json_Adapter<Json>::at(encoded, "mode")) == "secondary"));
|
||||
adminive::Collection_Service<Config, Json, adminive::No_Lock> collection("/configs", {Config{}});
|
||||
const auto list = collection.list_response();
|
||||
assert(list.status == 200);
|
||||
ADMINIVE_CHECK(list.status == 200);
|
||||
const auto& data = adminive::Json_Adapter<Json>::at(list.body, "data");
|
||||
assert((adminive::json_get<Json, std::uint64_t>(adminive::Json_Adapter<Json>::at(data, "total")) == 1));
|
||||
ADMINIVE_CHECK((adminive::json_get<Json, std::uint64_t>(adminive::Json_Adapter<Json>::at(data, "total")) == 1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user