Skip to content

Commit

Permalink
refactor: move oc10 related functions
Browse files Browse the repository at this point in the history
  • Loading branch information
saw-jan committed Sep 4, 2024
1 parent 3c96af1 commit 7149932
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 65 deletions.
2 changes: 0 additions & 2 deletions test/gui/shared/scripts/helpers/UserHelper.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
from base64 import b64encode

createdUsers = {}

test_users = {
"admin": {
"username": "admin",
Expand Down
37 changes: 5 additions & 32 deletions test/gui/shared/scripts/helpers/api/Provisioning.py
Original file line number Diff line number Diff line change
@@ -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):
Expand Down Expand Up @@ -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]
Expand All @@ -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]
90 changes: 60 additions & 30 deletions test/gui/shared/scripts/helpers/api/oc10.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand All @@ -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,
Expand All @@ -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(
Expand All @@ -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)
3 changes: 2 additions & 1 deletion test/gui/shared/steps/server_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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(
Expand Down

0 comments on commit 7149932

Please sign in to comment.