json serialize unit tests

This commit is contained in:
Scott E. Graves 2025-02-15 17:43:47 -06:00
parent 969b9d9099
commit cd2f147611

View File

@ -222,6 +222,32 @@ TEST(json_serialize_test, can_handle_download_type) {
EXPECT_STREQ("ring_buffer", data.get<std::string>().c_str());
}
TEST(json_serialize_test, can_handle_event_level) {
json data(event_level{event_level::critical});
EXPECT_EQ(event_level::critical, data.get<event_level>());
EXPECT_STREQ("critical", data.get<std::string>().c_str());
data = event_level(event_level::error);
EXPECT_EQ(event_level::error, data.get<event_level>());
EXPECT_STREQ("error", data.get<std::string>().c_str());
data = event_level(event_level::warn);
EXPECT_EQ(event_level::warn, data.get<event_level>());
EXPECT_STREQ("warn", data.get<std::string>().c_str());
data = event_level(event_level::info);
EXPECT_EQ(event_level::info, data.get<event_level>());
EXPECT_STREQ("info", data.get<std::string>().c_str());
data = event_level(event_level::debug);
EXPECT_EQ(event_level::debug, data.get<event_level>());
EXPECT_STREQ("debug", data.get<std::string>().c_str());
data = event_level(event_level::trace);
EXPECT_EQ(event_level::trace, data.get<event_level>());
EXPECT_STREQ("trace", data.get<std::string>().c_str());
}
TEST(json_serialize_test, can_handle_atomic_database_type) {
json data(atomic<database_type>{database_type::rocksdb});
EXPECT_EQ(database_type::rocksdb, data.get<atomic<database_type>>());
@ -245,4 +271,30 @@ TEST(json_serialize_test, can_handle_atomic_download_type) {
EXPECT_EQ(download_type::ring_buffer, data.get<atomic<download_type>>());
EXPECT_STREQ("ring_buffer", data.get<std::string>().c_str());
}
TEST(json_serialize_test, can_handle_atomic_event_level) {
json data(atomic<event_level>{event_level::critical});
EXPECT_EQ(event_level::critical, data.get<atomic<event_level>>());
EXPECT_STREQ("critical", data.get<std::string>().c_str());
data = atomic<event_level>(event_level::error);
EXPECT_EQ(event_level::error, data.get<atomic<event_level>>());
EXPECT_STREQ("error", data.get<std::string>().c_str());
data = atomic<event_level>(event_level::warn);
EXPECT_EQ(event_level::warn, data.get<atomic<event_level>>());
EXPECT_STREQ("warn", data.get<std::string>().c_str());
data = atomic<event_level>(event_level::info);
EXPECT_EQ(event_level::info, data.get<atomic<event_level>>());
EXPECT_STREQ("info", data.get<std::string>().c_str());
data = atomic<event_level>(event_level::debug);
EXPECT_EQ(event_level::debug, data.get<atomic<event_level>>());
EXPECT_STREQ("debug", data.get<std::string>().c_str());
data = atomic<event_level>(event_level::trace);
EXPECT_EQ(event_level::trace, data.get<atomic<event_level>>());
EXPECT_STREQ("trace", data.get<std::string>().c_str());
}
} // namespace repertory