From 160706b942544cc7ad141b20930d6be71f952c17 Mon Sep 17 00:00:00 2001 From: Falk Werner Date: Sat, 27 Apr 2019 15:24:30 +0200 Subject: [PATCH] adds tests of wf_message_queue --- CMakeLists.txt | 1 + test/test_message_queue.cc | 52 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 test/test_message_queue.cc diff --git a/CMakeLists.txt b/CMakeLists.txt index 23f9d0f..0459576 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,6 +309,7 @@ add_executable(alltests test/test_fuse_req.cc test/test_status.cc test/test_message.cc + test/test_message_queue.cc ) target_link_libraries(alltests PUBLIC webfuse-adapter-static webfuse-provider-static webfuse-core ${EXTRA_LIBS} ${GMOCK_LIBRARIES} ${GTEST_LIBRARIES}) diff --git a/test/test_message_queue.cc b/test/test_message_queue.cc new file mode 100644 index 0000000..ef07bed --- /dev/null +++ b/test/test_message_queue.cc @@ -0,0 +1,52 @@ +#include +#include "webfuse/core/message_queue.h" +#include "webfuse/core/message.h" +#include "webfuse/core/slist.h" + +namespace +{ + + struct wf_slist_item * create_message(char const * content) + { + json_t * value = json_object(); + json_object_set_new(value, "content", json_string(content)); + struct wf_message * message = wf_message_create(value); + + json_decref(value); + return &message->item; + } + +} + +TEST(wf_message_queue, cleanup_empty_list) +{ + struct wf_slist queue; + wf_slist_init(&queue); + + wf_message_queue_cleanup(&queue); + ASSERT_TRUE(wf_slist_empty(&queue)); +} + +TEST(wf_message_queue, cleanup_one_element) +{ + struct wf_slist queue; + wf_slist_init(&queue); + + wf_slist_append(&queue, create_message("Hello")); + + wf_message_queue_cleanup(&queue); + ASSERT_TRUE(wf_slist_empty(&queue)); +} + +TEST(wf_message_queue, cleanup_multiple_element) +{ + struct wf_slist queue; + wf_slist_init(&queue); + + wf_slist_append(&queue, create_message("Hello")); + wf_slist_append(&queue, create_message("World")); + wf_slist_append(&queue, create_message("!")); + + wf_message_queue_cleanup(&queue); + ASSERT_TRUE(wf_slist_empty(&queue)); +} \ No newline at end of file