mirror of
https://github.com/emqx/neuron.git
synced 2026-10-17 04:40:42 +08:00
return the correct node according to the node type
This commit is contained in:
+6
-12
@@ -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}
|
||||
|
||||
+5
-11
@@ -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;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
+14
-7
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user