diff --git a/Python/stress-testing/api_library/channel.py b/Python/stress-testing/api_library/channel.py index ee4e08ec7561b87a6214e91415b7843ee2ace78f..c9f11c1fd5b5ab6c64b59f33f14e6deb013e9433 100644 --- a/Python/stress-testing/api_library/channel.py +++ b/Python/stress-testing/api_library/channel.py @@ -1,132 +1,132 @@ -import requests -import json, os, re - -from requests.api import delete -from .config import Config -import sys - -# Create new Channel -def create_channel(name, admingroup, description, verbose=False): - if verbose: - print('Creating Channel:', name) - data = {'channel': { - 'name': name, - 'slug': re.sub('[^0-9a-z-_]', '-', name.lower()), - 'description': description, - 'adminGroup': { 'groupIdentifier': admingroup }, - 'visibility': 'RESTRICTED', - 'submissionByForm': [ 'ADMINISTRATORS' ], - #'submissionByEmail': [ 'EGROUP' ], - #'incomingEgroup': egroup + '@cern.ch', - }} - #print(data) - r = requests.post(Config.BACKEND_URL + '/channels/', json=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error creating channel', r.json()) - sys.exit(2) - new_channel = r.json() - #print(new_channel) - - return new_channel['id'] - -# Delete Channel -def delete_channel(channel_id, verbose=False): - if verbose: - print('Deleting Channel', channel_id) - r = requests.delete(Config.BACKEND_URL + '/channels/' + channel_id, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error deleting channel', r.json()) - sys.exit(2) - return - -# Add egroup as Channel Member -def add_user_to_channel(channel_id, username, verbose=False): - if verbose: - print('Adding user to Channel members', username) - data = { 'username': username } - r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/members', json=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - if r.json()["name"] == 'ForbiddenError': - raise FileExistsError("add_user_to_channel", r.json()) - else: - print('error updating channel', r.json()["name"]) - sys.exit(2) - updated_channel = r.json() - - return updated_channel['id'] - -# Add group as Channel Member -def add_group_to_channel(channel_id, group, verbose=False): - if verbose: - print('Adding group to Channel members', group) - data = { 'group': { 'groupIdentifier': group } } - r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/groups', json=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - if r.json()["name"] == 'ForbiddenError': - raise FileExistsError("add_group_to_channel", r.json()) - else: - print('error updating channel', r.json()["name"]) - sys.exit(2) - updated_channel = r.json() - - return updated_channel['id'] - -# Remove ME from Members -def remove_me_from_channel(channel_id, verbose=False): - if verbose: - print('Removing ME from Channel members', channel_id) - r = requests.get(Config.BACKEND_URL + '/me', headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error removing ME from channel', r.json()) - sys.exit(2) - me = r.json() - if not me['userId']: - print('error retrieving ME', me) - sys.exit(2) - data = { 'userId': me['userId'] } - r = requests.delete(Config.BACKEND_URL + '/channels/' + channel_id + '/members', json=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error removing ME from channel members', r.json()) - sys.exit(2) - updated_channel = r.json() - - return updated_channel['id'] - -# Change Channel owner -def set_channel_owner(channel_id, username, verbose=False): - if verbose: - print('Setting Channel owner to', username) - data = { 'username': username } - r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/owner', json=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error setting channel owner', r.json()) - sys.exit(2) - updated_channel = r.json() - - return updated_channel['id'] - -def get_channels_by_prefix(prefix, verbose=False): - if verbose: - print('Get Channel By Prefix:', prefix) - data = { 'searchText': prefix, 'skip': 0, 'take': 10000 } - r = requests.get(Config.BACKEND_URL + '/channels', params=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error getting channels by prefix', r.json()) - sys.exit(2) - found_channels = r.json() - #print(found_channels) - #print(found_channels["channels"]) - return found_channels["channels"] - -# Set Channel Tags -def set_channel_tags(channel_id, tags, verbose=False): - if verbose: - print('Setting Channel tags', channel_id) - data = { 'tags': tags } - r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/tags', json=data, headers=Config.HEADER(), verify=Config.VERIFY) - if r.status_code != requests.codes.ok: - print('error setting channel tags', r.json()) - sys.exit(2) - updated_channel = r.json() - - return updated_channel['id'] +import requests +import json, os, re + +from requests.api import delete +from .config import Config +import sys + +# Create new Channel +def create_channel(name, admingroup, description, verbose=False): + if verbose: + print('Creating Channel:', name) + data = {'channel': { + 'name': name, + 'slug': re.sub('[^0-9a-z-_]', '-', name.lower()), + 'description': description, + 'adminGroup': { 'groupIdentifier': admingroup }, + 'visibility': 'RESTRICTED', + 'submissionByForm': [ 'ADMINISTRATORS' ], + #'submissionByEmail': [ 'EGROUP' ], + #'incomingEgroup': egroup + '@cern.ch', + }} + #print(data) + r = requests.post(Config.BACKEND_URL + '/channels/', json=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error creating channel', r.json()) + sys.exit(2) + new_channel = r.json() + #print(new_channel) + + return new_channel['id'] + +# Delete Channel +def delete_channel(channel_id, verbose=False): + if verbose: + print('Deleting Channel', channel_id) + r = requests.delete(Config.BACKEND_URL + '/channels/' + channel_id, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error deleting channel', r.json()) + sys.exit(2) + return + +# Add egroup as Channel Member +def add_user_to_channel(channel_id, username, verbose=False): + if verbose: + print('Adding user to Channel members', username) + data = { 'username': username } + r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/members', json=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + if r.json()["name"] == 'ForbiddenError': + raise FileExistsError("add_user_to_channel", r.json()) + else: + print('error updating channel', r.json()["name"]) + sys.exit(2) + updated_channel = r.json() + + return updated_channel['id'] + +# Add group as Channel Member +def add_group_to_channel(channel_id, group, verbose=False): + if verbose: + print('Adding group to Channel members', group) + data = { 'group': { 'groupIdentifier': group } } + r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/groups', json=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + if r.json()["name"] == 'ForbiddenError': + raise FileExistsError("add_group_to_channel", r.json()) + else: + print('error updating channel', r.json()["name"]) + sys.exit(2) + updated_channel = r.json() + + return updated_channel['id'] + +# Remove ME from Members +def remove_me_from_channel(channel_id, verbose=False): + if verbose: + print('Removing ME from Channel members', channel_id) + r = requests.get(Config.BACKEND_URL + '/usersettings', headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error removing ME from channel', r.json()) + sys.exit(2) + me = r.json() + if not me['userId']: + print('error retrieving ME', me) + sys.exit(2) + data = { 'userId': me['userId'] } + r = requests.delete(Config.BACKEND_URL + '/channels/' + channel_id + '/members', json=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error removing ME from channel members', r.json()) + sys.exit(2) + updated_channel = r.json() + + return updated_channel['id'] + +# Change Channel owner +def set_channel_owner(channel_id, username, verbose=False): + if verbose: + print('Setting Channel owner to', username) + data = { 'username': username } + r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/owner', json=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error setting channel owner', r.json()) + sys.exit(2) + updated_channel = r.json() + + return updated_channel['id'] + +def get_channels_by_prefix(prefix, verbose=False): + if verbose: + print('Get Channel By Prefix:', prefix) + data = { 'searchText': prefix, 'skip': 0, 'take': 10000 } + r = requests.get(Config.BACKEND_URL + '/channels', params=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error getting channels by prefix', r.json()) + sys.exit(2) + found_channels = r.json() + #print(found_channels) + #print(found_channels["channels"]) + return found_channels["channels"] + +# Set Channel Tags +def set_channel_tags(channel_id, tags, verbose=False): + if verbose: + print('Setting Channel tags', channel_id) + data = { 'tags': tags } + r = requests.put(Config.BACKEND_URL + '/channels/' + channel_id + '/tags', json=data, headers=Config.HEADER(), verify=Config.VERIFY) + if r.status_code != requests.codes.ok: + print('error setting channel tags', r.json()) + sys.exit(2) + updated_channel = r.json() + + return updated_channel['id']