diff --git a/ft/node_api_test.robot b/ft/node_api_test.robot index f6a50bf4..3a19ee09 100644 --- a/ft/node_api_test.robot +++ b/ft/node_api_test.robot @@ -63,40 +63,34 @@ Get WEB node, it should return all WEB node Integer response status 200 Array $.nodes - String $.nodes[*].name sample-app-adapter mqtt-adapter default-dashboard-adapter - # String $.nodes[*].name default-dashboard-adapter + String $.nodes[*].name default-dashboard-adapter Get MQTT node, it should return all mqtt node GET /api/v2/node?type=${NODE_MQTT} Integer response status 200 Array $.nodes - String $.nodes[*].name sample-app-adapter mqtt-adapter default-dashboard-adapter - # String $.nodes[*].name mqtt-adapter + String $.nodes[*].name mqtt-adapter Get STREAM PROCESSOR node, it should return all STREAM PROCESSOR node GET /api/v2/node?type=${NODE_STREAM_PROCESSOR} Integer response status 200 - Array $.nodes - String $.nodes[*].name sample-app-adapter mqtt-adapter default-dashboard-adapter - # String $.nodes[*].name stream-process-adapter + Object response body {} + #String $.nodes[*].name stream-process-adapter Get APP node, it should return all APP node GET /api/v2/node?type=${NODE_APP} Integer response status 200 Array $.nodes - String $.nodes[*].name sample-app-adapter mqtt-adapter default-dashboard-adapter - # String $.nodes[*].name app-adapter + String $.nodes[*].name sample-app-adapter Get UNKNOWN type node, it should return empty node GET /api/v2/node?type=6 Integer response status 200 - Array $.nodes - String $.nodes[*].name sample-app-adapter mqtt-adapter default-dashboard-adapter - # String response body {} + Object response body {} Delete the existing node, it will return success GET /api/v2/node?type=${NODE_DRIVER} diff --git a/src/adapter/adapter.c b/src/adapter/adapter.c index 7af26dbc..a33b2048 100644 --- a/src/adapter/adapter.c +++ b/src/adapter/adapter.c @@ -480,15 +480,10 @@ static int adapter_command(neu_adapter_t *adapter, neu_request_t *cmd, } case NEU_REQRESP_UPDATE_NODE: { - ADAPTER_RESP_CODE(adapter, cmd, intptr_t, neu_cmd_update_node_t, rv, - NEU_REQRESP_ERR_CODE, p_result, { - ret = NEU_ERR_SUCCESS; - rv = neu_manager_update_node(adapter->manager, - req_cmd); - if (rv != 0) { - ret = NEU_ERR_FAILURE; - } - }); + ADAPTER_RESP_CODE( + adapter, cmd, intptr_t, neu_cmd_update_node_t, rv, + NEU_REQRESP_ERR_CODE, p_result, + { ret = neu_manager_update_node(adapter->manager, req_cmd); }); break; } @@ -499,7 +494,7 @@ static int adapter_command(neu_adapter_t *adapter, neu_request_t *cmd, ret = malloc(sizeof(neu_reqresp_nodes_t)); if (ret == NULL) { log_error("Failed to allocate result of get nodes"); - rv = -1; + rv = NEU_ERR_EINTERNAL; free(result); break; } @@ -511,7 +506,6 @@ static int adapter_command(neu_adapter_t *adapter, neu_request_t *cmd, if (rv < 0) { free(result); free(ret); - rv = -1; break; } }); diff --git a/src/adapter/adapter_info.h b/src/adapter/adapter_info.h index f476c950..7cebcc36 100644 --- a/src/adapter/adapter_info.h +++ b/src/adapter/adapter_info.h @@ -26,11 +26,11 @@ typedef enum adapter_type { ADAPTER_TYPE_UNKNOW = 0, + ADAPTER_TYPE_DRIVER, ADAPTER_TYPE_WEBSERVER, ADAPTER_TYPE_MQTT, ADAPTER_TYPE_STREAM_PROCESSOR, ADAPTER_TYPE_APP, - ADAPTER_TYPE_DRIVER, ADAPTER_TYPE_MAX, } adapter_type_e; diff --git a/src/core/neu_manager.c b/src/core/neu_manager.c index 50dc8704..fc7ac40c 100644 --- a/src/core/neu_manager.c +++ b/src/core/neu_manager.c @@ -1556,24 +1556,31 @@ int neu_manager_update_node(neu_manager_t *manager, neu_cmd_update_node_t *cmd) static bool adapter_match_node_type(neu_adapter_t * adapter, neu_node_type_e node_type) { - if (node_type == NEU_NODE_TYPE_UNKNOW) { - return true; - } else if (node_type == NEU_NODE_TYPE_DRIVER) { + switch (node_type) { + case NEU_NODE_TYPE_WEBSERVER: + return ADAPTER_TYPE_WEBSERVER == neu_adapter_get_type(adapter); + case NEU_NODE_TYPE_DRIVER: return ADAPTER_TYPE_DRIVER == neu_adapter_get_type(adapter); - } else { - return ADAPTER_TYPE_DRIVER != neu_adapter_get_type(adapter); + case NEU_NODE_TYPE_MQTT: + return ADAPTER_TYPE_MQTT == neu_adapter_get_type(adapter); + case NEU_NODE_TYPE_STREAM_PROCESSOR: + return ADAPTER_TYPE_STREAM_PROCESSOR == neu_adapter_get_type(adapter); + case NEU_NODE_TYPE_APP: + return ADAPTER_TYPE_APP == neu_adapter_get_type(adapter); + default: + return false; } } int neu_manager_get_nodes(neu_manager_t *manager, neu_node_type_e node_type, vector_t *result_nodes) { - int rv = 0; + int rv = NEU_ERR_SUCCESS; adapter_reg_entity_t *reg_entity; if (manager == NULL || result_nodes == NULL) { log_error("get nodes with NULL manager or result_nodes"); - return -1; + return NEU_ERR_EINTERNAL; } nng_mtx_lock(manager->adapters_mtx); diff --git a/tests/plugin_manager_test.cc b/tests/plugin_manager_test.cc index cbb138b5..fe5cd88b 100644 --- a/tests/plugin_manager_test.cc +++ b/tests/plugin_manager_test.cc @@ -39,7 +39,6 @@ TEST(PluginManagerTest, RegPluginManagerTest) case 1: plugin_id1 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin1", info->plugin_name); EXPECT_STREQ("lib1", info->plugin_lib_name); @@ -47,7 +46,6 @@ TEST(PluginManagerTest, RegPluginManagerTest) case 2: plugin_id2 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin2", info->plugin_name); EXPECT_STREQ("lib2", info->plugin_lib_name); @@ -55,7 +53,6 @@ TEST(PluginManagerTest, RegPluginManagerTest) case 3: plugin_id3 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin3", info->plugin_name); EXPECT_STREQ("lib3", info->plugin_lib_name); @@ -246,7 +243,6 @@ void *plugin_manager_thread(void *arg) case 1: plugin_id1 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin1", info->plugin_name); EXPECT_STREQ("lib1", info->plugin_lib_name); @@ -255,7 +251,6 @@ void *plugin_manager_thread(void *arg) case 2: plugin_id2 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin2", info->plugin_name); EXPECT_STREQ("lib2", info->plugin_lib_name); @@ -345,7 +340,6 @@ void *plugin_manager_thread2(void *arg) case 1: plugin_id4 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin4", info->plugin_name); EXPECT_STREQ("lib4", info->plugin_lib_name); @@ -354,7 +348,6 @@ void *plugin_manager_thread2(void *arg) case 2: plugin_id5 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin5", info->plugin_name); EXPECT_STREQ("lib5", info->plugin_lib_name); @@ -362,7 +355,6 @@ void *plugin_manager_thread2(void *arg) case 3: plugin_id6 = info->plugin_id; - EXPECT_EQ(1, info->adapter_type); EXPECT_EQ(1, info->plugin_kind); EXPECT_STREQ("plugin6", info->plugin_name); EXPECT_STREQ("lib6", info->plugin_lib_name);