From a6fdcb545fbad8f33707e101c556886568411dd3 Mon Sep 17 00:00:00 2001 From: fengzero Date: Mon, 26 Jan 2026 03:30:55 +0000 Subject: [PATCH] test query nodes by tags --- tests/ft/neuron/api.py | 3 +++ tests/ft/node/test_node_tag.py | 22 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/tests/ft/neuron/api.py b/tests/ft/neuron/api.py index 7c60057f..fb9a0764 100644 --- a/tests/ft/neuron/api.py +++ b/tests/ft/neuron/api.py @@ -98,6 +98,9 @@ def get_nodes(type, jwt=config.default_jwt, group=""): else: return requests.get(url=config.BASE_URL + '/api/v2/node?group=' + group, headers={"Authorization": jwt}, params={"type": type}) +def get_nodes_by_tags(type, tags, jwt=config.default_jwt): + return requests.get(url=config.BASE_URL + '/api/v2/node', headers={"Authorization": jwt}, params={"type": type, "node": tags}) + @gen_check def node_ctl(node, ctl, jwt=config.default_jwt): diff --git a/tests/ft/node/test_node_tag.py b/tests/ft/node/test_node_tag.py index 02581c70..b1bfa57d 100644 --- a/tests/ft/node/test_node_tag.py +++ b/tests/ft/node/test_node_tag.py @@ -52,4 +52,24 @@ class TestNodeTag: def test_add_tags_exceeding_limit(self): response = api.add_node_with_tags(node="modbus-tcp-3", plugin=PLUGIN_MODBUS_TCP, tags="tag1,tag2,tag3,tag4,tag5,tag6") assert 400 == response.status_code - assert NEU_ERR_NODE_TAGS_TOO_MANY == response.json()['error'] \ No newline at end of file + assert NEU_ERR_NODE_TAGS_TOO_MANY == response.json()['error'] + + @description(given="node with tags", when="query node by tags", then="query success") + def test_query_node_by_tags(self): + response = api.add_node_with_tags(node="modbus-tcp-4", plugin=PLUGIN_MODBUS_TCP, tags="tagA,tagB") + assert 200 == response.status_code + assert NEU_ERR_SUCCESS == response.json()['error'] + + response = api.get_nodes_by_tags(type=1, tags="tagA") + assert 200 == response.status_code + assert 1 == len(response.json()['nodes']) + assert "modbus-tcp-4" == response.json()['nodes'][0]['name'] + + response = api.get_nodes_by_tags(type=1, tags="tagB") + assert 200 == response.status_code + assert 1 == len(response.json()['nodes']) + assert "modbus-tcp-4" == response.json()['nodes'][0]['name'] + + response = api.get_nodes_by_tags(type=1, tags="tagC") + assert 200 == response.status_code + assert 0 == len(response.json()['nodes']) \ No newline at end of file