diff --git a/test/gui/shared/scripts/helpers/UserHelper.py b/test/gui/shared/scripts/helpers/UserHelper.py index bfc7e591d0b..f8cbd3e2976 100644 --- a/test/gui/shared/scripts/helpers/UserHelper.py +++ b/test/gui/shared/scripts/helpers/UserHelper.py @@ -1,7 +1,5 @@ from base64 import b64encode -createdUsers = {} - test_users = { "admin": { "username": "admin", diff --git a/test/gui/shared/scripts/helpers/api/Provisioning.py b/test/gui/shared/scripts/helpers/api/Provisioning.py index a6cd4ce7798..857f2af7a0e 100644 --- a/test/gui/shared/scripts/helpers/api/Provisioning.py +++ b/test/gui/shared/scripts/helpers/api/Provisioning.py @@ -1,38 +1,10 @@ -import helpers.api.HttpHelper as request import helpers.api.oc10 as oc import helpers.api.ocis as ocis -from helpers.api.utils import url_join from helpers.ConfigHelper import get_config import helpers.UserHelper as UserHelper created_groups = {} - - -def format_json(url): - return url + "?format=json" - - -def enable_app(app_name): - url = format_json(url_join(oc.get_ocs_url(), "apps", app_name)) - response = request.post(url) - request.assertHttpStatus(response, 200, f"Failed to enable app '{app_name}'") - oc.checkSuccessOcsStatus(response) - - -def disable_app(app_name): - url = format_json(url_join(oc.get_ocs_url(), "apps", app_name)) - response = request.delete(url) - request.assertHttpStatus(response, 200, f"Failed to disable app '{app_name}'") - oc.checkSuccessOcsStatus(response) - - -def setup_app(app_name, action): - if action.startswith('enable'): - enable_app(app_name) - elif action.startswith('disable'): - disable_app(app_name) - else: - raise Exception("Unknown action: " + action) +created_users = {} def create_group(group_name): @@ -62,6 +34,7 @@ def add_user_to_group(user, group_name): def create_user(username): + global created_users user = {} if username in UserHelper.test_users: user = UserHelper.test_users[username] @@ -81,13 +54,13 @@ def create_user(username): user_info = oc.create_user( user['username'], user['password'], user['displayname'], user['email'] ) - UserHelper.createdUsers[username] = user_info + created_users[username] = user_info def delete_created_users(): - for username, user_info in list(UserHelper.createdUsers.items()): + for username, user_info in list(created_users.items()): if get_config('ocis'): ocis.delete_user(user_info["id"]) else: oc.delete_user(user_info["id"]) - del UserHelper.createdUsers[username] + del created_users[username] diff --git a/test/gui/shared/scripts/helpers/api/oc10.py b/test/gui/shared/scripts/helpers/api/oc10.py index daaf6521805..b0ffaaf8352 100644 --- a/test/gui/shared/scripts/helpers/api/oc10.py +++ b/test/gui/shared/scripts/helpers/api/oc10.py @@ -5,8 +5,16 @@ from helpers.ConfigHelper import get_config +def format_json(url): + return url + "?format=json" + + def get_ocs_url(): - return url_join(get_config('localBackendUrl'), 'ocs', "v2.php", 'cloud') + return url_join(get_config('localBackendUrl'), 'ocs', "v2.php") + + +def get_provisioning_url(*paths): + return format_json(url_join(get_ocs_url(), 'cloud', *paths)) def checkSuccessOcsStatus(response): @@ -20,34 +28,8 @@ def checkSuccessOcsStatus(response): ) -def create_group(group_name): - url = url_join(get_ocs_url(), 'groups') - body = {"groupid": group_name} - response = request.post(url, body) - request.assertHttpStatus(response, 200, f"Failed to create group '{group_name}'") - checkSuccessOcsStatus(response) - return {"id": group_name} - - -def delete_group(group_id): - url = url_join(get_ocs_url(), 'groups', group_id) - response = request.delete(url) - request.assertHttpStatus(response, 200, f"Failed to delete group '{group_id}'") - checkSuccessOcsStatus(response) - - -def add_user_to_group(user, group_name): - url = url_join(get_ocs_url(), "users", user, "groups") - body = {"groupid": group_name} - response = request.post(url, body) - request.assertHttpStatus( - response, 200, f"Failed to add user '{user}' to group '{group_name}'" - ) - checkSuccessOcsStatus(response) - - def create_user(username, password, displayname, email): - url = url_join(get_ocs_url(), "users") + url = get_provisioning_url("users") body = { "userid": username, "password": password, @@ -60,7 +42,7 @@ def create_user(username, password, displayname, email): # oc10 does not set display name while creating user, # so we need update the user info - user_url = url_join(url, username) + user_url = get_provisioning_url("users", username) display_name_body = {"key": "displayname", "value": displayname} display_name_response = request.put(user_url, display_name_body) request.assertHttpStatus( @@ -78,7 +60,55 @@ def create_user(username, password, displayname, email): def delete_user(user_id): - url = url_join(get_ocs_url(), 'users', user_id) + url = get_provisioning_url('users', user_id) response = request.delete(url) request.assertHttpStatus(response, 200, f"Failed to delete user '{user_id}'") checkSuccessOcsStatus(response) + + +def create_group(group_name): + body = {"groupid": group_name} + response = request.post(get_provisioning_url("groups"), body) + request.assertHttpStatus(response, 200, f"Failed to create group '{group_name}'") + checkSuccessOcsStatus(response) + return {"id": group_name} + + +def delete_group(group_id): + url = get_provisioning_url("groups", group_id) + response = request.delete(url) + request.assertHttpStatus(response, 200, f"Failed to delete group '{group_id}'") + checkSuccessOcsStatus(response) + + +def add_user_to_group(user, group_name): + url = get_provisioning_url("users", user, "groups") + body = {"groupid": group_name} + response = request.post(url, body) + request.assertHttpStatus( + response, 200, f"Failed to add user '{user}' to group '{group_name}'" + ) + checkSuccessOcsStatus(response) + + +def enable_app(app_name): + url = format_json(url_join(get_ocs_url(), "apps", app_name)) + response = request.post(url) + request.assertHttpStatus(response, 200, f"Failed to enable app '{app_name}'") + checkSuccessOcsStatus(response) + + +def disable_app(app_name): + url = format_json(url_join(get_ocs_url(), "apps", app_name)) + response = request.delete(url) + request.assertHttpStatus(response, 200, f"Failed to disable app '{app_name}'") + checkSuccessOcsStatus(response) + + +def setup_app(app_name, action): + if action.startswith('enable'): + enable_app(app_name) + elif action.startswith('disable'): + disable_app(app_name) + else: + raise Exception("Unknown action: " + action) diff --git a/test/gui/shared/steps/server_context.py b/test/gui/shared/steps/server_context.py index 3ec5e31b784..88ee78caabf 100644 --- a/test/gui/shared/steps/server_context.py +++ b/test/gui/shared/steps/server_context.py @@ -4,6 +4,7 @@ from helpers.ConfigHelper import get_config from helpers.api.utils import url_join from helpers.api import Provisioning, webdav_helper as webdav, sharing_helper +import helpers.api.oc10 as oc from pageObjects.Toolbar import Toolbar @@ -52,7 +53,7 @@ def step(context, stepPart1): @Given('app "|any|" has been "|any|" in the server') def step(context, app_name, action): - Provisioning.setup_app(app_name, action) + oc.setup_app(app_name, action) @Then(