From 2e1b8aa79aa4957137ae5b4fc0ec034fb481d507 Mon Sep 17 00:00:00 2001 From: Jusuf Date: Mon, 18 Nov 2024 11:31:38 +0100 Subject: [PATCH] Add tests for Astarte group managment - Add tests for creating and listing groups. - Add tests for adding, listing, and removing devices from groups. - Updated resources.py to include mygroup variable for group name. Signed-off-by: Jusuf --- .../device/test_app_engine_groups.py | 140 ++++++++++++++++++ tests/resources.py | 2 + 2 files changed, 142 insertions(+) create mode 100644 tests/app_engine/device/test_app_engine_groups.py diff --git a/tests/app_engine/device/test_app_engine_groups.py b/tests/app_engine/device/test_app_engine_groups.py new file mode 100644 index 0000000..df66ef9 --- /dev/null +++ b/tests/app_engine/device/test_app_engine_groups.py @@ -0,0 +1,140 @@ +# SPDX-FileCopyrightText: 2024 SECO Mind Srl +# +# SPDX-License-Identifier: Apache-2.0 + + +import subprocess + +from resources import mygroup + + +def test_app_engine_group_create(astarte_env_vars): + astarte_url = astarte_env_vars["astarte_url"] + realm = astarte_env_vars["realm"] + jwt = astarte_env_vars["jwt"] + device_test_1 = astarte_env_vars["device_test_1"] + + arg_list = [ + "astartectl", + "appengine", + "groups", + "create", + mygroup, + device_test_1, + "-t", + jwt, + "-u", + astarte_url, + "-r", + realm, + ] + + sample_data_result = subprocess.run(arg_list, capture_output=True, text=True) + assert sample_data_result.stdout.replace("\n", "") == "ok" + + +def test_app_engine_group_list(astarte_env_vars): + astarte_url = astarte_env_vars["astarte_url"] + realm = astarte_env_vars["realm"] + jwt = astarte_env_vars["jwt"] + + arg_list = [ + "astartectl", + "appengine", + "groups", + "list", + "-t", + jwt, + "-u", + astarte_url, + "-r", + realm, + ] + + sample_data_result = subprocess.run(arg_list, capture_output=True, text=True) + sample_data_result.stdout = _replace_brackets_from_string(sample_data_result.stdout) + assert sample_data_result.stdout in mygroup + + +def test_app_engine_group_devices_list(astarte_env_vars): + astarte_url = astarte_env_vars["astarte_url"] + realm = astarte_env_vars["realm"] + jwt = astarte_env_vars["jwt"] + device_test_1 = astarte_env_vars["device_test_1"] + + arg_list = [ + "astartectl", + "appengine", + "groups", + "devices", + "list", + mygroup, + "-t", + jwt, + "-u", + astarte_url, + "-r", + realm, + ] + + sample_data_result = subprocess.run(arg_list, capture_output=True, text=True) + sample_data_result.stdout = _replace_brackets_from_string(sample_data_result.stdout) + assert sample_data_result.stdout in device_test_1 + + +def test_app_engine_group_add_device(astarte_env_vars): + astarte_url = astarte_env_vars["astarte_url"] + realm = astarte_env_vars["realm"] + jwt = astarte_env_vars["jwt"] + device_test_2 = astarte_env_vars["device_test_2"] + + arg_list = [ + "astartectl", + "appengine", + "groups", + "devices", + "add", + mygroup, + device_test_2, + "-t", + jwt, + "-u", + astarte_url, + "-r", + realm, + ] + + sample_data_result = subprocess.run(arg_list, capture_output=True, text=True) + print(sample_data_result.stdout) + assert sample_data_result.stdout.replace("\n", "") == "ok" + + +def test_app_engine_group_remove_device(astarte_env_vars): + astarte_url = astarte_env_vars["astarte_url"] + realm = astarte_env_vars["realm"] + jwt = astarte_env_vars["jwt"] + device_test_2 = astarte_env_vars["device_test_2"] + + arg_list = [ + "astartectl", + "appengine", + "groups", + "devices", + "remove", + mygroup, + device_test_2, + "-t", + jwt, + "-u", + astarte_url, + "-r", + realm, + ] + + sample_data_result = subprocess.run(arg_list, capture_output=True, text=True) + print(sample_data_result.stdout) + assert sample_data_result.stdout.replace("\n", "") == "ok" + + +def _replace_brackets_from_string(input_string): + return input_string.replace("\n", "").replace("[", "").replace("]", "") diff --git a/tests/resources.py b/tests/resources.py index 1191ac5..7be362d 100644 --- a/tests/resources.py +++ b/tests/resources.py @@ -235,3 +235,5 @@ "test_attribute3": "test_attribute3=attribute3", "test_attribute4": "test_attribute4=attribute4", } + +mygroup = "test_group"