--- /dev/null
+/**\r
+ * @file unittest_nnstreamer-edge.cc\r
+ * @date 27 June 2022\r
+ * @brief Unittest for nnstreamer-edge library.\r
+ * @see https://github.com/nnstreamer/nnstreamer-edge\r
+ * @author Jaeyun Jung <jy1210.jung@samsung.com>\r
+ * @bug No known bugs\r
+ */\r
+\r
+#include <gtest/gtest.h>\r
+#include "nnstreamer-edge.h"\r
+#include "nnstreamer-edge-common.h"\r
+#include "nnstreamer-edge-internal.h"\r
+\r
+/**\r
+ * @brief Data struct for event callback test.\r
+ */\r
+typedef struct\r
+{\r
+ bool callback_released;\r
+} ne_event_cb_test_s;\r
+\r
+/**\r
+ * @brief Edge event callback for test.\r
+ */\r
+static int\r
+_test_edge_event_cb (nns_edge_event_h event_h, void *user_data)\r
+{\r
+ nns_edge_event_e event = NNS_EDGE_EVENT_UNKNOWN;\r
+ ne_event_cb_test_s *event_data = (ne_event_cb_test_s *) user_data;\r
+\r
+ nns_edge_event_get_type (event_h, &event);\r
+\r
+ switch (event) {\r
+ case NNS_EDGE_EVENT_CALLBACK_RELEASED:\r
+ event_data->callback_released = true;\r
+ break;\r
+ default:\r
+ break;\r
+ }\r
+\r
+ return NNS_EDGE_ERROR_NONE;\r
+}\r
+\r
+/**\r
+ * @brief Create edge handle - invalid param.\r
+ */\r
+TEST(edge, createHandleInvalidParam01_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle (NULL, "temp-topic", &edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Create edge handle - invalid param.\r
+ */\r
+TEST(edge, createHandleInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", NULL, &edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Create edge handle - invalid param.\r
+ */\r
+TEST(edge, createHandleInvalidParam03_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Create edge handle - invalid param.\r
+ */\r
+TEST(edge, createHandleInvalidParam04_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("", "temp-topic", &edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Create edge handle - invalid param.\r
+ */\r
+TEST(edge, createHandleInvalidParam05_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "", &edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Start - invalid param.\r
+ */\r
+TEST(edge, startInvalidParam01_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_start (NULL, false);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Start - invalid param.\r
+ */\r
+TEST(edge, startInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_start (edge_h, false);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Release edge handle - invalid param.\r
+ */\r
+TEST(edge, releaseHandleInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_release_handle (NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Release edge handle - invalid param.\r
+ */\r
+TEST(edge, releaseHandleInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set event callback - null param to clear event callback.\r
+ */\r
+TEST(edge, setEventCbSetNullCallback) {\r
+ nns_edge_h edge_h;\r
+ ne_event_cb_test_s *event_data;\r
+ int ret;\r
+\r
+ event_data = (ne_event_cb_test_s *) malloc (sizeof (ne_event_cb_test_s));\r
+ memset (event_data, 0, sizeof (ne_event_cb_test_s));\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, event_data);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ /* Set null param to clear event callback. */\r
+ ret = nns_edge_set_event_callback (edge_h, NULL, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ EXPECT_TRUE (event_data->callback_released);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (event_data);\r
+}\r
+\r
+/**\r
+ * @brief Set event callback - invalid param.\r
+ */\r
+TEST(edge, setEventCbInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_set_event_callback (NULL, _test_edge_event_cb, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set event callback - invalid param.\r
+ */\r
+TEST(edge, setEventCbInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ ne_event_cb_test_s *event_data;\r
+ int ret;\r
+\r
+ event_data = (ne_event_cb_test_s *) malloc (sizeof (ne_event_cb_test_s));\r
+ memset (event_data, 0, sizeof (ne_event_cb_test_s));\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, event_data);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (event_data);\r
+}\r
+\r
+/**\r
+ * @brief Connect - invalid param.\r
+ */\r
+TEST(edge, connectInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_connect (NULL, NNS_EDGE_PROTOCOL_TCP, "127.0.0.1", 80);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Connect - invalid param.\r
+ */\r
+TEST(edge, connectInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_connect (edge_h, NNS_EDGE_PROTOCOL_TCP, "127.0.0.1", 80);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Connect - invalid param.\r
+ */\r
+TEST(edge, connectInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_connect (edge_h, NNS_EDGE_PROTOCOL_TCP, NULL, 80);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Connect - invalid param.\r
+ */\r
+TEST(edge, connectInvalidParam04_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_event_callback (edge_h, _test_edge_event_cb, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_connect (edge_h, NNS_EDGE_PROTOCOL_TCP, "", 80);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Disconnect - invalid param.\r
+ */\r
+TEST(edge, disconnectInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_disconnect (NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Disconnect - invalid param.\r
+ */\r
+TEST(edge, disconnectInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_disconnect (edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Publish - invalid param.\r
+ */\r
+TEST(edge, publishInvalidParam01_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_publish (NULL, data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Publish - invalid param.\r
+ */\r
+TEST(edge, publishInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_data_h data_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_publish (edge_h, data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Publish - invalid param.\r
+ */\r
+TEST(edge, publishInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_publish (edge_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Request - invalid param.\r
+ */\r
+TEST(edge, requestInvalidParam01_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_request (NULL, data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Request - invalid param.\r
+ */\r
+TEST(edge, requestInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_data_h data_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_request (edge_h, data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Request - invalid param.\r
+ */\r
+TEST(edge, requestInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_request (edge_h, NULL, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Respond - invalid param.\r
+ */\r
+TEST(edge, respondInvalidParam01_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "client_id", "10");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_respond (NULL, data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Respond - invalid param.\r
+ */\r
+TEST(edge, respondInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_data_h data_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "client_id", "10");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_respond (edge_h, data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Respond - invalid param.\r
+ */\r
+TEST(edge, respondInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_respond (edge_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Respond - invalid param.\r
+ */\r
+TEST(edge, respondInvalidParam04_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ /* No client ID */\r
+ ret = nns_edge_respond (edge_h, data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Subscribe - invalid param.\r
+ */\r
+TEST(edge, subscribeInvalidParam01_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_subscribe (NULL, data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Subscribe - invalid param.\r
+ */\r
+TEST(edge, subscribeInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_data_h data_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_subscribe (edge_h, data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Subscribe - invalid param.\r
+ */\r
+TEST(edge, subscribeInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_subscribe (edge_h, NULL, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Unsubscribe - invalid param.\r
+ */\r
+TEST(edge, unsubscribeInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_unsubscribe (NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Unsubscribe - invalid param.\r
+ */\r
+TEST(edge, unsubscribeInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_unsubscribe (edge_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get topic.\r
+ */\r
+TEST(edge, getTopic) {\r
+ nns_edge_h edge_h;\r
+ char *topic = NULL;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_get_topic (edge_h, &topic);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_STREQ (topic, "temp-topic");\r
+ free (topic);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get topic - invalid param.\r
+ */\r
+TEST(edge, getTopicInvalidParam01_n) {\r
+ char *topic = NULL;\r
+ int ret;\r
+\r
+ ret = nns_edge_get_topic (NULL, &topic);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get topic - invalid param.\r
+ */\r
+TEST(edge, getTopicInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ char *topic = NULL;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_get_topic (edge_h, &topic);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get topic - invalid param.\r
+ */\r
+TEST(edge, getTopicInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_get_topic (edge_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info - invalid param.\r
+ */\r
+TEST(edge, setInfoInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_set_info (NULL, "topic", "temp-topic");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info - invalid param.\r
+ */\r
+TEST(edge, setInfoInvalidParam02_n) {\r
+ nns_edge_h edge_h;\r
+ nns_edge_handle_s *eh;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh = (nns_edge_handle_s *) edge_h;\r
+ eh->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_set_info (edge_h, "topic", "temp-topic");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ eh->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info - invalid param.\r
+ */\r
+TEST(edge, setInfoInvalidParam03_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_info (edge_h, NULL, "temp-topic");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info - invalid param.\r
+ */\r
+TEST(edge, setInfoInvalidParam04_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_info (edge_h, "", "temp-topic");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info - invalid param.\r
+ */\r
+TEST(edge, setInfoInvalidParam05_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_info (edge_h, "topic", NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info - invalid param.\r
+ */\r
+TEST(edge, setInfoInvalidParam06_n) {\r
+ nns_edge_h edge_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_create_handle ("temp-id", "temp-topic", &edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_set_info (edge_h, "topic", "");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_release_handle (edge_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Create edge-data - invalid param.\r
+ */\r
+TEST(edgeData, createInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Destroy edge-data - invalid param.\r
+ */\r
+TEST(edgeData, destroyInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_data_destroy (NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Destroy edge-data - invalid param.\r
+ */\r
+TEST(edgeData, destroyInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Validate edge-data.\r
+ */\r
+TEST(edgeData, validate) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_is_valid (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Validate edge-data - invalid param.\r
+ */\r
+TEST(edgeData, validateInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_data_is_valid (NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Validate edge-data - invalid param.\r
+ */\r
+TEST(edgeData, validateInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_is_valid (data_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Copy edge-data.\r
+ */\r
+TEST(edgeData, copy) {\r
+ nns_edge_data_h src_h, desc_h;\r
+ void *data, *result;\r
+ size_t data_len, result_len;\r
+ char *result_value;\r
+ unsigned int i, result_count;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (unsigned int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ for (i = 0; i < 10U; i++)\r
+ ((unsigned int *) data)[i] = i;\r
+\r
+ ret = nns_edge_data_create (&src_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (src_h, "temp-key1", "temp-data-val1");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ ret = nns_edge_data_set_info (src_h, "temp-key2", "temp-data-val2");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (src_h, data, data_len, free);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_copy (src_h, &desc_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (src_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ /* Compare data and info */\r
+ ret = nns_edge_data_get_count (desc_h, &result_count);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_EQ (result_count, 1U);\r
+\r
+ ret = nns_edge_data_get (desc_h, 0, &result, &result_len);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ for (i = 0; i < 10U; i++)\r
+ EXPECT_EQ (((unsigned int *) result)[i], i);\r
+\r
+ ret = nns_edge_data_get_info (desc_h, "temp-key1", &result_value);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_STREQ (result_value, "temp-data-val1");\r
+ free (result_value);\r
+\r
+ ret = nns_edge_data_get_info (desc_h, "temp-key2", &result_value);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_STREQ (result_value, "temp-data-val2");\r
+ free (result_value);\r
+\r
+ ret = nns_edge_data_destroy (desc_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Copy edge-data - invalid param.\r
+ */\r
+TEST(edgeData, copyInvalidParam01_n) {\r
+ nns_edge_data_h desc_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_copy (NULL, &desc_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Copy edge-data - invalid param.\r
+ */\r
+TEST(edgeData, copyInvalidParam02_n) {\r
+ nns_edge_data_h src_h, desc_h;\r
+ nns_edge_data_s *ed;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&src_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) src_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_copy (src_h, &desc_h);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (src_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Copy edge-data - invalid param.\r
+ */\r
+TEST(edgeData, copyInvalidParam03_n) {\r
+ nns_edge_data_h src_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&src_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_copy (src_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (src_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Add edge-data - max data limit.\r
+ */\r
+TEST(edgeData, addMaxData_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data;\r
+ size_t data_len;\r
+ int i, ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ for (i = 0; i < NNS_EDGE_DATA_LIMIT; i++) {\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ }\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Add edge-data - invalid param.\r
+ */\r
+TEST(edgeData, addInvalidParam01_n) {\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_add (NULL, data, data_len, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Add edge-data - invalid param.\r
+ */\r
+TEST(edgeData, addInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Add edge-data - invalid param.\r
+ */\r
+TEST(edgeData, addInvalidParam03_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, NULL, data_len, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Add edge-data - invalid param.\r
+ */\r
+TEST(edgeData, addInvalidParam04_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, 0, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get edge-data.\r
+ */\r
+TEST(edgeData, get) {\r
+ nns_edge_data_h data_h;\r
+ void *data, *result;\r
+ size_t data_len, result_len;\r
+ unsigned int count;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get_count (data_h, &count);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_EQ (count, 1U);\r
+\r
+ ret = nns_edge_data_get (data_h, 0, &result, &result_len);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_EQ (result, data);\r
+ EXPECT_EQ (result_len, data_len);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInvalidParam01_n) {\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_get (NULL, 0, &data, &data_len);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ void *data, *result;\r
+ size_t data_len, result_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_get (data_h, 0, &result, &result_len);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInvalidParam03_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data, *result;\r
+ size_t data_len, result_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ /* Invalid index */\r
+ ret = nns_edge_data_get (data_h, 1, &result, &result_len);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInvalidParam04_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data;\r
+ size_t data_len, result_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get (data_h, 0, NULL, &result_len);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInvalidParam05_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data, *result;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get (data_h, 0, &result, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get count of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getCountInvalidParam01_n) {\r
+ unsigned int count;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_get_count (NULL, &count);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get count of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getCountInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_get_count (data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Get count of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getCountInvalidParam03_n) {\r
+ nns_edge_data_h data_h;\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (int);\r
+ data = malloc (data_len);\r
+ ASSERT_TRUE (data != NULL);\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_add (data_h, data, data_len, NULL);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get_count (data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ free (data);\r
+}\r
+\r
+/**\r
+ * @brief Set info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, setInfoInvalidParam01_n) {\r
+ int ret;\r
+\r
+ ret = nns_edge_data_set_info (NULL, "temp-key", "temp-value");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, setInfoInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_set_info (data_h, "temp-key", "temp-value");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, setInfoInvalidParam03_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, NULL, "temp-value");\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Set info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, setInfoInvalidParam04_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "temp-key", NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInfoInvalidParam01_n) {\r
+ char *value = NULL;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_get_info (NULL, "temp-key", &value);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInfoInvalidParam02_n) {\r
+ nns_edge_data_h data_h;\r
+ nns_edge_data_s *ed;\r
+ char *value = NULL;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "temp-key", "temp-value");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed = (nns_edge_data_s *) data_h;\r
+ ed->magic = NNS_EDGE_MAGIC_DEAD;\r
+\r
+ ret = nns_edge_data_get_info (data_h, "temp-key", &value);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ed->magic = NNS_EDGE_MAGIC;\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInfoInvalidParam03_n) {\r
+ nns_edge_data_h data_h;\r
+ char *value = NULL;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "temp-key", "temp-value");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get_info (data_h, NULL, &value);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInfoInvalidParam04_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "temp-key", "temp-value");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get_info (data_h, "temp-key", NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Get info of edge-data - invalid param.\r
+ */\r
+TEST(edgeData, getInfoInvalidParam05_n) {\r
+ nns_edge_data_h data_h;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_create (&data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_set_info (data_h, "temp-key", "temp-value");\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_get_info (data_h, "", NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_destroy (data_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Main gtest\r
+ */\r
+int\r
+main (int argc, char **argv)\r
+{\r
+ int result = -1;\r
+\r
+ try {\r
+ testing::InitGoogleTest (&argc, argv);\r
+ } catch (...) {\r
+ nns_edge_loge ("Catch exception, failed to init google test.");\r
+ }\r
+\r
+ try {\r
+ result = RUN_ALL_TESTS ();\r
+ } catch (...) {\r
+ nns_edge_loge ("Catch exception, failed to run the unittest.");\r
+ }\r
+\r
+ return result;\r
+}\r