From fa1964304ffe41a6d5e4c089c0283bc0e61bf280 Mon Sep 17 00:00:00 2001 From: fengzero Date: Wed, 8 Jan 2025 03:21:44 +0000 Subject: [PATCH] mqtt schema test --- tests/ut/CMakeLists.txt | 8 ++++++++ tests/ut/mqtt_schema_test.cc | 31 +++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 tests/ut/mqtt_schema_test.cc diff --git a/tests/ut/CMakeLists.txt b/tests/ut/CMakeLists.txt index 4c73760c..94bc524d 100644 --- a/tests/ut/CMakeLists.txt +++ b/tests/ut/CMakeLists.txt @@ -85,6 +85,14 @@ target_include_directories(cid_test PRIVATE ) target_link_libraries(cid_test neuron-base gtest_main gtest) +add_executable(mqtt_schema_test mqtt_schema_test.cc ${CMAKE_SOURCE_DIR}/plugins/mqtt/schema.c) +target_include_directories(mqtt_schema_test PRIVATE + ${CMAKE_SOURCE_DIR}/src + ${CMAKE_SOURCE_DIR}/include + ${CMAKE_SOURCE_DIR}/plugins +) +target_link_libraries(mqtt_schema_test neuron-base gtest_main gtest) + include(GoogleTest) gtest_discover_tests(json_test) gtest_discover_tests(http_test) diff --git a/tests/ut/mqtt_schema_test.cc b/tests/ut/mqtt_schema_test.cc new file mode 100644 index 00000000..95d53634 --- /dev/null +++ b/tests/ut/mqtt_schema_test.cc @@ -0,0 +1,31 @@ +#include + +#include "neuron.h" + +#include "mqtt/schema.h" + +int64_t global_timestamp = 0; +zlog_category_t *neuron = NULL; + +TEST(validate_success, schema) +{ + const char *schema = + "{\"timestamp\":\"${timestamp}\",\"node\":\"${node}\",\"group\":\"${" + "group}\",\"tags\":\"${tag_values}\",\"static\":\"${static_" + "tags}\",\"errors\":\"${tag_errors}\"}"; + mqtt_schema_vt_t *vts; + size_t n_vts; + int ret = mqtt_schema_validate(schema, &vts, &n_vts); + EXPECT_EQ(ret, 0); + + EXPECT_EQ(n_vts, 6); + free(vts); +} + +int main(int argc, char **argv) +{ + zlog_init("./config/dev.conf"); + neuron = zlog_get_category("neuron"); + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +}