[Build] dependency to mqtt lib
authorJaeyun <jy1210.jung@samsung.com>
Fri, 12 Aug 2022 07:56:16 +0000 (16:56 +0900)
committerjaeyun-jung <39614140+jaeyun-jung@users.noreply.github.com>
Fri, 12 Aug 2022 08:15:34 +0000 (17:15 +0900)
Find pkgconfig or library of mqtt library, and set flags if found dependency to mqtt.
Fix build error (invalid args when calling mqtt-connect in test).
Handle invalid param - topic.

Signed-off-by: Jaeyun <jy1210.jung@samsung.com>
CMakeLists.txt
src/CMakeLists.txt
src/libnnstreamer-edge/nnstreamer-edge-mqtt.c
tests/unittest_nnstreamer-edge.cc

index 8e8c22167726805f05d6dac3ff8e0f73a4d65a6f..469c7aca056bceef3492719e893bd2ed3b94d91c 100644 (file)
@@ -1,6 +1,8 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 PROJECT(nnstreamer-edge)
 
+INCLUDE(FindPkgConfig)
+
 OPTION(ENABLE_TEST      "Enable Test case" OFF)
 OPTION(ENABLE_DEBUG     "Enable Debug" OFF)
 
@@ -14,8 +16,6 @@ SET(CMAKE_CXX_STANDARD 14)
 # Set CFLAGS
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Werror")
 SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -pthread -fPIE -fPIC -g")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_MQTT=1")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_MQTT=1")
 
 IF (ENABLE_DEBUG)
     SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDEBUG=1")
@@ -37,11 +37,34 @@ SET(SOURCE_DIR    ${CMAKE_CURRENT_SOURCE_DIR}/src)
 SET(INCLUDE_DIR   ${CMAKE_CURRENT_SOURCE_DIR}/include)
 SET(NNS_EDGE_SRC_DIR  ${SOURCE_DIR}/libnnstreamer-edge)
 
+# Paho MQTT Library
+SET(ENABLE_PAHO_MQTT OFF)
+
+PKG_SEARCH_MODULE(PAHO_MQTT_PKG "paho-mqtt-c")
+IF(PAHO_MQTT_PKG_FOUND)
+    MESSAGE("Found Paho MQTT pkgconfig.")
+    SET(ENABLE_PAHO_MQTT ON)
+    SET(PAHO_MQTT_LIB ${PAHO_MQTT_PKG_LDFLAGS})
+ELSE()
+    FIND_LIBRARY(PAHO_MQTT_LIB NAMES paho-mqtt3a paho-mqtt3c paho-mqtt3as paho-mqtt3cs)
+
+    IF(PAHO_MQTT_LIB-NOTFOUND)
+        MESSAGE("Cannot find Paho MQTT library." )
+    ELSE()
+        MESSAGE("Found Paho MQTT library.")
+        SET(ENABLE_PAHO_MQTT ON)
+    ENDIF()
+ENDIF()
+
+IF(ENABLE_PAHO_MQTT)
+    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DENABLE_MQTT=1")
+    SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DENABLE_MQTT=1")
+ENDIF()
+
 # Check requires packages
 # TODO FIXME remove glib dependency
 SET(REQUIRES_LIST "glib-2.0 gio-2.0")
 
-INCLUDE(FindPkgConfig)
 PKG_CHECK_MODULES(EDGE_REQUIRE_PKGS REQUIRED ${REQUIRES_LIST})
 
 FOREACH(flag ${EDGE_REQUIRE_PKGS_CFLAGS})
index d02a6ffaeebf353113ed10bb92eb0b99e2501861..4f42aa56049e4481b7403abb36260afbd66ae43f 100644 (file)
@@ -3,20 +3,18 @@ SET(NNS_EDGE_LIB_NAME nnstreamer-edge)
 SET(NNS_EDGE_SRCS
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-common.c
     ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-internal.c
-    ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-mqtt.c
 )
 
+IF(ENABLE_PAHO_MQTT)
+    SET(NNS_EDGE_SRCS ${NNS_EDGE_SRCS} ${NNS_EDGE_SRC_DIR}/nnstreamer-edge-mqtt.c)
+ENDIF()
+
 ADD_LIBRARY(${NNS_EDGE_LIB_NAME} SHARED ${NNS_EDGE_SRCS})
 SET_TARGET_PROPERTIES(${NNS_EDGE_LIB_NAME} PROPERTIES VERSION ${SO_VERSION})
 TARGET_INCLUDE_DIRECTORIES(${NNS_EDGE_LIB_NAME} PRIVATE ${INCLUDE_DIR} ${EDGE_REQUIRE_PKGS_INCLUDE_DIRS})
 TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} ${EDGE_REQUIRE_PKGS_LDFLAGS})
-
-PKG_SEARCH_MODULE (PAHO_MQTT_PKG "paho-mqtt-c")
-IF (PAHO_MQTT_PKG_MODULE_NAME)
-    TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} ${PAHO_MQTT_PKG_LDFLAGS})
-ELSE()
-    MESSAGE (WARNING "paho-mqtt-c pkgcong is not found. Hardcoded build configuration is used.")
-    TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} paho-mqtt3a paho-mqtt3c paho-mqtt3as paho-mqtt3cs)
+IF(ENABLE_PAHO_MQTT)
+    TARGET_LINK_LIBRARIES(${NNS_EDGE_LIB_NAME} ${PAHO_MQTT_LIB})
 ENDIF()
 
 INSTALL (TARGETS ${NNS_EDGE_LIB_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR})
index 5991c73e6638e010a63574ddcb2b2935854a0b92..fba2805007b613f3ac3c6de98f5239b1a897c50b 100644 (file)
@@ -207,6 +207,11 @@ nns_edge_mqtt_connect (nns_edge_h edge_h, const char *topic)
   char *url;
   char *client_id;
 
+  if (!STR_IS_VALID (topic)) {
+    nns_edge_loge ("Invalid param, given topic is invalid.");
+    return NNS_EDGE_ERROR_INVALID_PARAMETER;
+  }
+
   eh = (nns_edge_handle_s *) edge_h;
 
   if (!NNS_EDGE_MAGIC_IS_VALID (eh)) {
index 025670b202ba84af1ca92d5c68211cb16bbf206a..29633f37c88388806e1b110eae0189570b096330 100644 (file)
@@ -2815,6 +2815,7 @@ TEST(edgeMeta, deserializeInvalidParam03_n)
   free (data);\r
 }\r
 \r
+#if defined(ENABLE_MQTT)\r
 /**\r
  * @brief Edge event callback for test.\r
  */\r
@@ -2883,18 +2884,18 @@ _test_edge_hybrid_event_cb (nns_edge_event_h event_h, void *user_data)
 /**\r
  * @brief Check whether MQTT broker is running or not.\r
  */\r
-static int\r
+static bool\r
 _check_mqtt_broker ()\r
 {\r
   int ret = 0;\r
 \r
   ret = system ("ps aux | grep mosquitto | grep -v grep");\r
   if (0 != ret) {\r
-    nns_edge_loge ("MQTT broker is not running. Skip query hybrid test.");\r
-    ret = -1;\r
+    nns_edge_logw ("MQTT broker is not running. Skip query hybrid test.");\r
+    return false;\r
   }\r
 \r
-  return ret;\r
+  return true;\r
 }\r
 \r
 /**\r
@@ -2913,14 +2914,15 @@ TEST(edgeMqtt, connectLocal)
   int ret = 0;\r
   char *val;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
   _td_server = _get_test_data (true);\r
   _td_client = _get_test_data (false);\r
 \r
   /* Prepare server (127.0.0.1:port) */\r
-  nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &server_h);\r
+  nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &server_h);\r
   nns_edge_set_event_callback (server_h, _test_edge_hybrid_event_cb, _td_server);\r
   nns_edge_set_info (server_h, "HOST", "localhost");\r
   nns_edge_set_info (server_h, "PORT", "0");\r
@@ -2931,7 +2933,8 @@ TEST(edgeMqtt, connectLocal)
   _td_server->handle = server_h;\r
 \r
   /* Prepare client */\r
-  nns_edge_create_handle ("temp-client", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND, &client_h);\r
+  nns_edge_create_handle ("temp-client", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND, &client_h);\r
   nns_edge_set_event_callback (client_h, _test_edge_hybrid_event_cb, _td_client);\r
   nns_edge_set_info (client_h, "CAPS", "test client");\r
   nns_edge_set_info (client_h, "HOST", "localhost");\r
@@ -3014,37 +3017,88 @@ TEST(edgeMqtt, connectLocal)
   _free_test_data (_td_client);\r
 }\r
 \r
+/**\r
+ * @brief Connect to the mqtt broker with invalid param.\r
+ */\r
+TEST(edgeMqtt, connectInvalidParam1_n)\r
+{\r
+  int ret = -1;\r
+\r
+  if (!_check_mqtt_broker ())\r
+    return;\r
+\r
+  ret = nns_edge_mqtt_connect (NULL, "temp-mqtt-topic");\r
+  EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
+}\r
+\r
+/**\r
+ * @brief Connect to the mqtt broker with invalid param.\r
+ */\r
+TEST(edgeMqtt, connectInvalidParam2_n)\r
+{\r
+  int ret = -1;\r
+  nns_edge_h edge_h;\r
+  char *msg = NULL;\r
+\r
+  if (!_check_mqtt_broker ())\r
+    return;\r
+\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+  nns_edge_set_info (edge_h, "DEST_HOST", "tcp://localhost");\r
+  nns_edge_set_info (edge_h, "DEST_PORT", "1883");\r
+\r
+  ret = nns_edge_mqtt_connect (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 Connect to the mqtt broker with invalid param.\r
  */\r
-TEST(edgeMqtt, connectInvalidParam_n)\r
+TEST(edgeMqtt, connectInvalidParam3_n)\r
 {\r
   int ret = -1;\r
-  if (0 != _check_mqtt_broker ())\r
+  nns_edge_h edge_h;\r
+  char *msg = NULL;\r
+\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_mqtt_connect (NULL);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
+  nns_edge_set_info (edge_h, "DEST_HOST", "tcp://localhost");\r
+  nns_edge_set_info (edge_h, "DEST_PORT", "1883");\r
+\r
+  ret = nns_edge_mqtt_connect (edge_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
 \r
 /**\r
  * @brief Connect to the mqtt broker with invalid hostaddress.\r
  */\r
-TEST(edgeMqtt, connectInvalidParam2_n)\r
+TEST(edgeMqtt, connectInvalidParam4_n)\r
 {\r
   int ret = -1;\r
   nns_edge_h edge_h;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
   nns_edge_set_info (edge_h, "DEST_HOST", "tcp://none");\r
   nns_edge_set_info (edge_h, "DEST_PORT", "1883");\r
 \r
-  ret = nns_edge_mqtt_connect (edge_h);\r
+  ret = nns_edge_mqtt_connect (edge_h, "temp-mqtt-topic");\r
   EXPECT_NE (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_release_handle (edge_h);\r
@@ -3057,7 +3111,8 @@ TEST(edgeMqtt, connectInvalidParam2_n)
 TEST(edgeMqtt, closeInvalidParam_n)\r
 {\r
   int ret = -1;\r
-  if (0 != _check_mqtt_broker ())\r
+\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
   ret = nns_edge_mqtt_close (NULL);\r
@@ -3072,10 +3127,11 @@ TEST(edgeMqtt, closeInvalidParam2_n)
   int ret = -1;\r
   nns_edge_h edge_h;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_close (edge_h);\r
@@ -3091,9 +3147,9 @@ TEST(edgeMqtt, closeInvalidParam2_n)
 TEST(edgeMqtt, publishInvalidParam_n)\r
 {\r
   int ret = -1;\r
-  const charmsg = "TEMP_MESSAGE";\r
+  const char *msg = "TEMP_MESSAGE";\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
   ret = nns_edge_mqtt_publish (NULL, msg, strlen (msg) + 1);\r
@@ -3107,12 +3163,13 @@ TEST(edgeMqtt, publishInvalidParam2_n)
 {\r
   int ret = -1;\r
   nns_edge_h edge_h;\r
-  const charmsg = "TEMP_MESSAGE";\r
+  const char *msg = "TEMP_MESSAGE";\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_publish (edge_h, NULL, strlen (msg) + 1);\r
@@ -3122,7 +3179,6 @@ TEST(edgeMqtt, publishInvalidParam2_n)
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 }\r
 \r
-\r
 /**\r
  * @brief Publish with invalid param.\r
  */\r
@@ -3130,12 +3186,13 @@ TEST(edgeMqtt, publishInvalidParam3_n)
 {\r
   int ret = -1;\r
   nns_edge_h edge_h;\r
-  const charmsg = "TEMP_MESSAGE";\r
+  const char *msg = "TEMP_MESSAGE";\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_publish (edge_h, msg, 0);\r
@@ -3152,12 +3209,13 @@ TEST(edgeMqtt, publishInvalidParam4_n)
 {\r
   int ret = -1;\r
   nns_edge_h edge_h;\r
-  const charmsg = "TEMP_MESSAGE";\r
+  const char *msg = "TEMP_MESSAGE";\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_publish (edge_h, msg, strlen (msg) + 1);\r
@@ -3173,7 +3231,8 @@ TEST(edgeMqtt, publishInvalidParam4_n)
 TEST(edgeMqtt, subscribeInvalidParam_n)\r
 {\r
   int ret = -1;\r
-  if (0 != _check_mqtt_broker ())\r
+\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
   ret = nns_edge_mqtt_subscribe (NULL);\r
@@ -3188,10 +3247,11 @@ TEST(edgeMqtt, subscribeInvalidParam2_n)
   int ret = -1;\r
   nns_edge_h edge_h;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_subscribe (edge_h);\r
@@ -3209,7 +3269,7 @@ TEST(edgeMqtt, getMessageInvalidParam_n)
   int ret = -1;\r
   char *msg = NULL;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
   ret = nns_edge_mqtt_get_message (NULL, &msg);\r
@@ -3224,10 +3284,11 @@ TEST(edgeMqtt, getMessageInvalidParam2_n)
   int ret = -1;\r
   nns_edge_h edge_h;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_get_message (edge_h, NULL);\r
@@ -3246,15 +3307,16 @@ TEST(edgeMqtt, getMessageWithinTimeout_n)
   nns_edge_h edge_h;\r
   char *msg = NULL;\r
 \r
-  if (0 != _check_mqtt_broker ())\r
+  if (!_check_mqtt_broker ())\r
     return;\r
 \r
-  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID, NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
+  ret = nns_edge_create_handle ("temp-server", NNS_EDGE_CONNECT_TYPE_HYBRID,\r
+      NNS_EDGE_FLAG_RECV | NNS_EDGE_FLAG_SEND | NNS_EDGE_FLAG_SERVER, &edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
   nns_edge_set_info (edge_h, "DEST_HOST", "tcp://localhost");\r
   nns_edge_set_info (edge_h, "DEST_PORT", "1883");\r
 \r
-  ret = nns_edge_mqtt_connect (edge_h);\r
+  ret = nns_edge_mqtt_connect (edge_h, "temp-mqtt-topic");\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 \r
   ret = nns_edge_mqtt_get_message (edge_h, &msg);\r
@@ -3266,6 +3328,7 @@ TEST(edgeMqtt, getMessageWithinTimeout_n)
   ret = nns_edge_release_handle (edge_h);\r
   EXPECT_EQ (ret, NNS_EDGE_ERROR_NONE);\r
 }\r
+#endif /* ENABLE_MQTT */\r
 \r
 /**\r
  * @brief Main gtest\r