summaryrefslogtreecommitdiffstats
path: root/ipatests/test_webui/test_rbac.py
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-05-24 13:48:53 +0200
committerPetr Vobornik <pvoborni@redhat.com>2013-07-16 13:15:59 +0200
commit2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc (patch)
tree6520c97ee694acde785ceb1bc945b80f209137c2 /ipatests/test_webui/test_rbac.py
parente3cddab940a77424b1bb56b75bba10d177fbc1cc (diff)
downloadfreeipa-2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc.tar.gz
freeipa-2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc.tar.xz
freeipa-2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc.zip
Upstream Web UI tests
Documentation: http://www.freeipa.org/page/Web_UI_Integration_Tests https://fedorahosted.org/freeipa/ticket/3744
Diffstat (limited to 'ipatests/test_webui/test_rbac.py')
-rw-r--r--ipatests/test_webui/test_rbac.py83
1 files changed, 83 insertions, 0 deletions
diff --git a/ipatests/test_webui/test_rbac.py b/ipatests/test_webui/test_rbac.py
new file mode 100644
index 000000000..8d8c1acb6
--- /dev/null
+++ b/ipatests/test_webui/test_rbac.py
@@ -0,0 +1,83 @@
+# Authors:
+# Petr Vobornik <pvoborni@redhat.com>
+#
+# Copyright (C) 2013 Red Hat
+# see file 'COPYING' for use and warranty information
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+"""
+RBAC tests
+"""
+
+from ipatests.test_webui.ui_driver import UI_driver
+
+ROLE_ENTITY = 'role'
+ROLE_DEF_FACET = 'member_user'
+ROLE_PKEY = 'AAtest_role'
+ROLE_DATA = {
+ 'pkey': ROLE_PKEY,
+ 'add': [
+ ('textbox', 'cn', ROLE_PKEY),
+ ('textarea', 'description','role desc'),
+ ],
+ 'mod': [
+ ('textarea', 'description','role desc mod'),
+ ],
+}
+
+PRIVILEGE_ENTITY = 'privilege'
+PRIVILEGE_DEF_FACET = 'memberof_permission'
+PRIVILEGE_PKEY = 'AAtest_privilege'
+PRIVILEGE_DATA = {
+ 'pkey': PRIVILEGE_PKEY,
+ 'add': [
+ ('textbox', 'cn', PRIVILEGE_PKEY),
+ ('textarea', 'description','privilege desc'),
+ ],
+ 'mod': [
+ ('textarea', 'description','privilege desc mod'),
+ ],
+}
+
+PERMISSION_ENTITY = 'permission'
+PERMISSION_PKEY = 'AAtest_perm'
+PERMISSION_DATA = {
+ 'pkey': PERMISSION_PKEY,
+ 'add': [
+ ('textbox', 'cn', PERMISSION_PKEY),
+ ('checkbox', 'permissions', 'write'),
+ ('textbox', 'filter', 'cn=user'),
+ ],
+ 'mod': [
+ ('textbox', 'filter','cn=user2'),
+ ],
+}
+
+class test_rbac(UI_driver):
+
+ def test_crud(self):
+ """
+ Basic CRUD: RBAC
+ """
+ self.init_app()
+ self.basic_crud(ROLE_ENTITY, ROLE_DATA,
+ default_facet=ROLE_DEF_FACET
+ )
+
+ self.basic_crud(PRIVILEGE_ENTITY, PRIVILEGE_DATA,
+ default_facet=PRIVILEGE_DEF_FACET
+ )
+
+ self.basic_crud(PERMISSION_ENTITY, PERMISSION_DATA)