nns_edge_free (data);\r
}\r
\r
+\r
+/**\r
+ * @brief Serialzie and deserialize the edge-data.\r
+ */\r
+TEST(edgeDataSerialize, normal)\r
+{\r
+ nns_edge_data_h src_h, dest_h;\r
+ void *data1, *data2, *result, *serialized_data;\r
+ size_t data_len, result_len, serialized_len;\r
+ char *result_value;\r
+ unsigned int i, result_count;\r
+ int ret;\r
+\r
+ data_len = 10U * sizeof (unsigned int);\r
+ data1 = malloc (data_len);\r
+ ASSERT_TRUE (data1 != NULL);\r
+\r
+ for (i = 0; i < 10U; i++)\r
+ ((unsigned int *) data1)[i] = i;\r
+\r
+ data2 = malloc (data_len * 2);\r
+ ASSERT_TRUE (data2 != NULL);\r
+\r
+ for (i = 0; i < 20U; i++)\r
+ ((unsigned int *) data2)[i] = 20 - 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, data1, data_len, free);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ ret = nns_edge_data_add (src_h, data2, data_len * 2, free);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_serialize (src_h, &serialized_data, &serialized_len);\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
+ ret = nns_edge_data_create (&dest_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ ret = nns_edge_data_deserialize (dest_h, serialized_data);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ /* Compare data and info */\r
+ ret = nns_edge_data_get_count (dest_h, &result_count);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ EXPECT_EQ (result_count, 2U);\r
+\r
+ ret = nns_edge_data_get (dest_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 (dest_h, 1, &result, &result_len);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+ for (i = 0; i < 20U; i++)\r
+ EXPECT_EQ (((unsigned int *) result)[i], 20 - i);\r
+\r
+ ret = nns_edge_data_get_info (dest_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 (dest_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 (dest_h);\r
+ EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+\r
+/**\r
+ * @brief Serialize edge-data - invalid param.\r
+ */\r
+TEST(edgeDataSerialize, invalidParam01_n)\r
+{\r
+ void *data;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_serialize (NULL, &data, &data_len);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Serialize edge-data - invalid param.\r
+ */\r
+TEST(edgeData, invalidParam02_n)\r
+{\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
+ 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_serialize (data_h, &data, &data_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
+\r
+/**\r
+ * @brief Serialize edge-data - invalid param.\r
+ */\r
+TEST(edgeDataSerialize, invalidParam03_n)\r
+{\r
+ nns_edge_data_h data_h;\r
+ size_t data_len;\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_serialize (data_h, NULL, &data_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
+\r
+/**\r
+ * @brief Serialize edge-data - invalid param.\r
+ */\r
+TEST(edgeDataSerialize, invalidParam04_n)\r
+{\r
+ nns_edge_data_h data_h;\r
+ void *data;\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_serialize_meta (data_h, &data, 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 Derialize edge-data - invalid param.\r
+ */\r
+TEST(edgeDataDeserialize, invalidParam01_n)\r
+{\r
+ void *data = NULL;\r
+ size_t data_len;\r
+ int ret;\r
+\r
+ ret = nns_edge_data_deserialize (NULL, data);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+\r
+ nns_edge_free (data);\r
+}\r
+\r
+/**\r
+ * @brief Derialize edge-data - invalid param.\r
+ */\r
+TEST(edgeDataDeserialize, invalidParam02_n)\r
+{\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
+ 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_serialize_meta (data_h, &data, &data_len);\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_deserialize (data_h, data);\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
+ nns_edge_free (data);\r
+}\r
+\r
+/**\r
+ * @brief Derialize edge-data - invalid param.\r
+ */\r
+TEST(edgeDataDeserialize, invalidParam03_n)\r
+{\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_deserialize (data_h, NULL);\r
+ EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
/**\r
* @brief Create edge event - invalid param.\r
*/\r