From b10b964ab35dfd65a44633d8181b1cc5f3aa6ae2 Mon Sep 17 00:00:00 2001 From: eeff <33566201+eeff@users.noreply.github.com> Date: Mon, 4 Dec 2023 17:23:01 +0800 Subject: [PATCH] test: ft case for deleting subscribing app --- tests/ft/app/test_app.py | 17 +++++++++++++++++ tests/ft/neuron/api.py | 7 +++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/tests/ft/app/test_app.py b/tests/ft/app/test_app.py index 65291ef8..59c8763a 100644 --- a/tests/ft/app/test_app.py +++ b/tests/ft/app/test_app.py @@ -24,6 +24,23 @@ class TestDriver: assert 200 == response.status_code assert error.NEU_ERR_SUCCESS == response.json()['error'] + @description(given="app node with subscriptions", when="delete node", then="should success") + @pytest.mark.parametrize('app,plugin', [('mqtt', config.PLUGIN_MQTT)]) + def test_delete_app(self, app, plugin): + driver = 'modbus' + group = 'group' + try: + api.add_node_check(node=app, plugin=plugin) + api.add_node_check(node=driver, plugin=config.PLUGIN_MODBUS_TCP) + api.modbus_tcp_node_setting(node=driver, port=502) + api.add_tags_check(node=driver, group=group, tags=hold_int16) + api.subscribe_group_check(app=app, driver=driver, group=group) + response = api.del_node(app) + assert 200 == response.status_code + assert error.NEU_ERR_SUCCESS == response.json()['error'] + finally: + api.del_node(driver) + @description(given="modbus tcp node", when="setting modbus tcp node and groups/tags", then="setting success") def test_modbus_tcp_setting(self): response = api.modbus_tcp_node_setting(node='modbus-tcp-1', port=502) diff --git a/tests/ft/neuron/api.py b/tests/ft/neuron/api.py index 8784940a..4e27b96a 100644 --- a/tests/ft/neuron/api.py +++ b/tests/ft/neuron/api.py @@ -284,12 +284,15 @@ def del_template_tags(tmpl, group, tags): def get_template_tags(tmpl, group, name): return requests.get(url=config.BASE_URL + "/api/v2/template/tag", headers={"Authorization": config.default_jwt}, params={"template": tmpl, "group": group, "name": name}) -def subscribe_group(app, driver, group): - return requests.post(url=config.BASE_URL + "/api/v2/subscribe", headers={"Authorization": config.default_jwt}, json={"app": app, "driver": driver, "group": group}) +@gen_check +def subscribe_group(app, driver, group, params={}): + return requests.post(url=config.BASE_URL + "/api/v2/subscribe", headers={"Authorization": config.default_jwt}, json={"app": app, "driver": driver, "group": group, "params": params}) +@gen_check def subscribe_groups(app, groups): return requests.post(url=config.BASE_URL + "/api/v2/subscribes", headers={"Authorization": config.default_jwt}, json={"app": app, "groups": groups}) +@gen_check def unsubscribe_group(app, driver, group): return requests.delete(url=config.BASE_URL + "/api/v2/subscribe", headers={"Authorization": config.default_jwt}, json={"app": app, "driver": driver, "group": group})