return the correct node according to the node type

This commit is contained in:
fengzero
2021-11-22 08:47:31 +00:00
committed by Parker Liu
parent 3ed6f842ec
commit fbb004e0b3
5 changed files with 26 additions and 39 deletions
+6 -12
View File
@@ -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
View File
@@ -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;
}
});
+1 -1
View File
@@ -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
View File
@@ -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);
-8
View File
@@ -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);