diff --git a/docs/en_US/images/role_drop_dialog.png b/docs/en_US/images/role_drop_dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..43917f9b182b51a492d072131adffee59663fe75 GIT binary patch literal 57831 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 zⅆ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 140000) { + let CURRENT_ROLE = { + label: 'CURRENT_ROLE', value: 'CURRENT_ROLE', + image: 'icon-' + node.type, _id: null, + }; + CURRENT_ROLE.value = JSON.stringify(CURRENT_ROLE); + res.push(CURRENT_ROLE); + } + + _.each(data, function(d) { + /* + * d contains json data and sets into + * select's option control + * + * We need to stringify data because formatter will + * convert Array Object as [Object] string + */ + if (current_label != d.label) + res.push({label: d.label, image: d.icon, value: JSON.stringify(d)}); + }); + } + return res; + }, + control: Backform.NodeListByIdControl.extend({ + getValueFromDOM: function() { + var data = this.formatter.toRaw( + _.unescape(this.$el.find('select').val()), this.model); + /* + * return null if data is empty to prevent it from + * throwing parsing error. Adds check as name can be empty + */ + if (data === '') { + return null; + } + else if (typeof(data) === 'string') { + data=JSON.parse(data); + } + return data.label; + }, + /* + * When name is changed, extract value from its select option and + * set attributes values into the model + */ + onChange: function() { + Backform.NodeAjaxOptionsControl.prototype.onChange.apply( + this, arguments + ); + var selectedValue = this.$el.find('select').val(); + if (selectedValue.trim() != '') { + var d = this.formatter.toRaw(selectedValue, this.model); + if(typeof(d) === 'string') + d=JSON.parse(d); + this.model.set({ + 'new_role_id' : d._id, + 'new_role_name': d.label, + }); + } + } + }), + node: 'role', + group: gettext('General'), + select2: { + allowClear: false, + }, + disabled: 'isDisabled', + deps: ['role_op'], + filter: function(d) { + // Exclude the currently selected + let tree = pgBrowser.tree, + _i = tree.selected(), + _d = _i && _i.length == 1 ? tree.itemData(_i) : undefined; + + if(!_d) + return true; + + return d && (d.label != _d.label); + }, + }, + { + id: 'drop_with_cascade', + label: gettext('Drop with'), + cell: 'string', + type: 'switch', + controlsClassName: 'pgadmin-controls col-12 col-sm-8', + controlLabelClassName: 'control-label col-sm-4 col-12', + disabled: 'isDisabled', + group: gettext('General'), + options: { + 'onText': gettext('CASCADE'), + 'offText': gettext('RESTRICT'), 'size': 'mini', width: '90' + }, + deps: ['role_op'], + helpMessage: gettext('Note: CASCADE will automatically drop objects that depend on the affected objects, and in turn all objects that depend on those objects'), + }, + { + id: 'did', + label: gettext('From database'), + controlsClassName: 'pgadmin-controls col-12 col-sm-8', + controlLabelClassName: 'control-label col-sm-4 col-12', + node: 'database', + group: gettext('General'), + disabled: 'isDisabled', + control: Backform.NodeListByIdControl.extend({ + onChange: function() { + Backform.NodeListByIdControl.prototype.onChange.apply( + this, arguments + ); + let did = this.model.get('did'); + this.model.set('did', parseInt(did)); + }, + }), + select2: { + allowClear: false, + }, + events: { + 'select2:select': 'onChange' + }, + first_empty: false, + helpMessage: gettext('Target database on which the operation will be carried out'), + } + ], + validate: function() { + return null; + }, + isDisabled: function(m) { + + let self_local = this; + switch(this.name) { + case 'new_role_name': + return (m.get('role_op') != 'reassign'); + case 'drop_with_cascade': + return (m.get('role_op') != 'drop'); + case 'did': + setTimeout(function() { + if(_.isUndefined(m.get('did'))) { + let db = self_local.options[0]; + m.set('did', db.value); + } + }, 10); + return false; + default: + return false; + } + }, + }); + + if (!_d) + return; + + if (!alertify.roleReassignDialog) { + alertify.dialog('roleReassignDialog', function factory() { + return { + main: function(title) { + this.set('title', title); + }, + setup: function() { + return { + buttons:[{ + text: '', key: 112, + className: 'btn btn-primary-icon pull-left fa fa-question pg-alertify-icon-button', + attrs:{name:'dialog_help', type:'button', label: gettext('Users'), + url: url_for('help.static', {'filename': 'role_reassign_dialog.html'})}, + },{ + text: gettext('Cancel'), + key: 27, + className: 'btn btn-secondary fa fa-lg fa-times pg-alertify-button', + }, { + text: gettext('OK'), + key: 13, + className: 'btn btn-primary fa fa-lg fa-save pg-alertify-button', + }], + focus: { + element: 0, + }, + options: { + //disable both padding and overflow control. + padding : !1, + overflow: !1, + modal: false, + resizable: true, + maximizable: true, + pinnable: false, + closableByDimmer: false, + }, + }; + }, + build: function() { + alertify.pgDialogBuild.apply(this); + }, + hooks:{ + onclose: function() { + if (this.view) { + // clear our backform model/view + this.view.remove({data: true, internal: true, silent: true}); + } + }, + }, + prepare:function() { + + var self = this, + $container = $('

'); + //Disable Okay button + self.__internal.buttons[2].element.disabled = true; + // Find current/selected node + var tree = pgBrowser.tree, + _i = tree.selected(), + _d = _i && _i.length == 1 ? tree.itemData(_i) : undefined, + node = _d && pgBrowser.Nodes[_d._type]; + + finalUrl = obj.generate_url(_i, 'reassign' , _d, true); + + if (!_d) + return; + // Create treeInfo + var treeInfo = node.getTreeNodeHierarchy.apply(node, [_i]); + // Instance of backbone model + var newModel = new RoleReassignObjectModel({}, {node_info: treeInfo}), + fields = Backform.generateViewSchema( + treeInfo, newModel, 'create', node, + treeInfo.server, true + ); + + var view = self.view = new Backform.Dialog({ + el: $container, model: newModel, schema: fields, + }); + // Add our class to alertify + $(self.elements.body.childNodes[0]).addClass( + 'alertify_tools_dialog_properties obj_properties' + ); + + // Render dialog + view.render(); + self.elements.content.append($container.get(0)); + + const statusBar = $( + '
').appendTo($container); + + // Listen to model & if filename is provided then enable Backup button + this.view.model.on('change', function() { + + const ctx = this; + + const showError = function(errorField, errormsg) { + ctx.errorModel.set(errorField, errormsg); + statusBar.removeClass('d-none'); + statusBar.find('.alert-text').html(errormsg); + self.elements.dialog.querySelector('.close-error').addEventListener('click', ()=>{ + statusBar.addClass('d-none'); + ctx.errorModel.set(errorField, errormsg); + }); + }; + statusBar.addClass('d-none'); + + if ((this.get('role_op') == 'reassign') + && !_.isUndefined(this.get('new_role_name') + && this.get('new_role_name') !== '') + ) { + this.errorModel.clear(); + self.__internal.buttons[2].element.disabled = false; + } else if(this.get('role_op') == 'drop') { + this.errorModel.clear(); + this.set({'new_role_name': undefined, silent: true}); + this.set({'new_role_id': undefined, silent: true}); + self.__internal.buttons[2].element.disabled = false; + } else if(_.isUndefined(this.get('new_role_name'))) { + let errmsg = gettext('Please provide a new role name'); + this.errorModel.set('new_role_name', errmsg); + showError('new_role_name', errmsg); + self.__internal.buttons[2].element.disabled = true; + } + else { + self.__internal.buttons[2].element.disabled = true; + } + }); + + // set default role operation as reassign + this.view.model.set({'role_op': 'reassign'}); + }, + // Callback functions when click on the buttons of the alertify dialogs + callback: function(e) { + if (e.button.element.name == 'dialog_help') { + e.cancel = true; + pgBrowser.showHelp(e.button.element.name, e.button.element.getAttribute('url'), + null, null); + return; + } + if (e.button.text === gettext('OK')) { + + let roleReassignData = this.view.model.toJSON(), + roleOp = roleReassignData.role_op, + confirmBoxTitle = utils.titleize(roleOp); + + alertify.confirm( + gettext('%s Objects', confirmBoxTitle), + gettext('Are you sure you wish to %s all the objects owned by the selected role?', roleOp), + function() { + axios.post( + finalUrl, + roleReassignData + ).then(function (response) { + if(response.data) + alertify.success(response.data.info); + }).catch(function (error) { + try { + const err = error.response.data; + alertify.alert( + gettext('Role reassign/drop failed.'), + err.errormsg + ); + } catch (e) { + console.warn(e.stack || e); + } + }); + }, + function() { return true; } + ).set('labels', { + ok: gettext('Yes'), + cancel: gettext('No'), + }); + } + }, + }; + }); + } + + alertify.roleReassignDialog( + gettext('Reassign/Drop Owned - \'%s\'', _d.label) + ).resizeTo(pgAdmin.Browser.stdW.md, pgAdmin.Browser.stdH.lg); + }, model: pgAdmin.Browser.Node.Model.extend({ idAttribute: 'oid', defaults: { diff --git a/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/reassign_own.sql b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/reassign_own.sql new file mode 100644 index 000000000..42065dcfc --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/roles/templates/roles/sql/9.4_plus/reassign_own.sql @@ -0,0 +1,13 @@ +{# ============= Get the role name using oid ============= #} +{% if rid %} +SELECT rolname FROM pg_catalog.pg_roles WHERE oid = {{rid}}::oid; +{% else %} +{# ============= Reassign/Drop own the role ============= #} +{% if data %} +{% if data.is_reassign %} +REASSIGN OWNED BY {{ conn|qtIdent(data.old_role_name) }} TO {% if data.new_role_name == "CURRENT_USER" or data.new_role_name == "SESSION_USER" or data.new_role_name == "CURRENT_ROLE" %}{{ data.new_role_name }}{% else %}{{ conn|qtIdent(data.new_role_name) }}{% endif%} +{% else %} +DROP OWNED BY {{ conn|qtIdent(data.old_role_name) }}{% if data.drop_with_cascade %} CASCADE{% endif%} +{% endif %} +{% endif %} +{% endif %} diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/role_test_data.json b/web/pgadmin/browser/server_groups/servers/roles/tests/role_test_data.json new file mode 100644 index 000000000..918845a2e --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/role_test_data.json @@ -0,0 +1,127 @@ +{ + "role_reassign": [ + { + "name": "Reassign own role - Internal server error", + "is_positive_test": false, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "reassign" + }, + "mocking_required": true, + "mock_data": { + "function_name": "pgadmin.utils.driver.psycopg2.connection.Connection.connect", + "return_value": "(False, 'Mocked Internal Server Error while checking db connect.')" + }, + "expected_data": { + "status_code": 500, + "error_msg": null, + "test_result_data": {} + } + }, + { + "name": "Reassign own role", + "is_positive_test": true, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "reassign", + "new_role_name": null + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200, + "error_msg": null, + "test_result_data": {} + } + }, + { + "name": "Reassign own role (SESSION_USER)", + "is_positive_test": true, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "reassign", + "new_role_name": "SESSION_USER" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200, + "error_msg": null, + "test_result_data": {} + } + }, + { + "name": "Reassign own role (CURRENT_USER)", + "is_positive_test": true, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "reassign", + "new_role_name": "CURRENT_USER" + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200, + "error_msg": null, + "test_result_data": {} + } + }, + { + "name": "Reassign own role (CURRENT_ROLE)", + "is_positive_test": true, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "reassign", + "new_role_name": "CURRENT_ROLE" + }, + "server_min_version": 140000, + "skip_msg": "CURRENT_ROLE are not supported by PPAS/PG 13.0 and below.", + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200, + "error_msg": null, + "test_result_data": {} + } + }, + { + "name": "Drop own role", + "is_positive_test": true, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "drop", + "drop_with_cascade": false + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200, + "error_msg": null, + "test_result_data": {} + } + }, + { + "name": "Drop own role (cascade)", + "is_positive_test": true, + "test_data": { + "did": null, + "new_role_id": null, + "role_op": "drop", + "drop_with_cascade": true + }, + "mocking_required": false, + "mock_data": {}, + "expected_data": { + "status_code": 200, + "error_msg": null, + "test_result_data": {} + } + } + ] +} diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_reassign_own.py b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_reassign_own.py new file mode 100644 index 000000000..950a017db --- /dev/null +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/test_role_reassign_own.py @@ -0,0 +1,99 @@ +########################################################################## +# +# pgAdmin 4 - PostgreSQL Tools +# +# Copyright (C) 2013 - 2021, The pgAdmin Development Team +# This software is released under the PostgreSQL Licence +# +########################################################################## + +import uuid + +from pgadmin.utils.route import BaseTestGenerator +from regression import parent_node_dict +from regression.python_test_utils import test_utils as utils +from pgadmin.utils import server_utils as server_utils +from . import utils as roles_utils +import json +from unittest.mock import patch + + +class ReassignRoleTestCase(BaseTestGenerator): + """This class tests the role reassign/drop scenario""" + + url = '/browser/role/reassign/' + + # Generates scenarios + scenarios = utils.generate_scenarios("role_reassign", + roles_utils.test_cases) + + def setUp(self): + self.server_id = parent_node_dict["server"][-1]["server_id"] + + self.data = self.test_data + + self.role_name = "role_get_%s" % str(uuid.uuid4())[1:8] + self.role_id = roles_utils.create_role(self.server, self.role_name) + + role_dict = { + "server_id": self.server_id, + "role_id": self.role_id, + "role_name": self.role_name, + "new_role_name": None + } + + self.data['did'] = parent_node_dict['database'][-1]['db_id'] + + if self.data["role_op"] == 'reassign': + + if hasattr(self, 'server_min_version') and \ + self.server_information['server_version'] \ + < self.server_min_version: + self.skipTest(self.skip_msg) + + self.role_name_1 = "role_get_%s" % str(uuid.uuid4())[1:8] + self.role_id_1 = roles_utils.create_role(self.server, + self.role_name_1) + role_dict["role_id_1"] = self.role_id_1 + role_dict["new_role_name"] = self.role_name_1 + + self.data["new_role_id"] = self.role_id_1 + self.data["new_role_name"] = self.role_name_1 + + utils.write_node_info("lrid", role_dict) + + def reassign_post_api(self): + + post_response = self.tester.post( + self.url + str(utils.SERVER_GROUP) + '/' + + str(self.server_id) + '/' + str(self.role_id), + data=json.dumps(self.data), + follow_redirects=True) + return post_response + + def runTest(self): + + """This function tests role reassign/drop scenario""" + if self.is_positive_test: + post_response = self.reassign_post_api() + elif self.mocking_required: + with patch(self.mock_data["function_name"], + return_value=eval(self.mock_data["return_value"])): + post_response = self.reassign_post_api() + + self.assertEqual(post_response.status_code, + self.expected_data['status_code']) + + def tearDown(self): + """This function delete the role from added server""" + connection = utils.get_db_connection(self.server['db'], + self.server['username'], + self.server['db_password'], + self.server['host'], + self.server['port'], + self.server['sslmode']) + role_list = [self.role_name] + if self.data["role_op"] == 'reassign': + role_list.append(self.role_name_1) + + roles_utils.delete_role(connection, role_list) diff --git a/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py b/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py index 241ab87dc..0fcdc13d0 100644 --- a/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py +++ b/web/pgadmin/browser/server_groups/servers/roles/tests/utils.py @@ -9,16 +9,19 @@ import os -import pickle import sys import uuid +import json from regression.python_test_utils import test_utils as utils -from regression.test_setup import config_data ROLE_URL = '/browser/role/obj/' file_name = os.path.basename(__file__) +CURRENT_PATH = os.path.dirname(os.path.realpath(__file__)) +with open(CURRENT_PATH + "/role_test_data.json") as data_file: + test_cases = json.load(data_file) + def verify_role(server, role_name): """