This is an automated email from the ASF dual-hosted git repository.
potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 7171699 Remove code duplication in the test suite test_views_acl.py
(#20887)
7171699 is described below
commit 717169987e76f332d7ce92bc361d2fff6966f6f0
Author: Khalid Mammadov <[email protected]>
AuthorDate: Sun Jan 16 08:24:38 2022 +0000
Remove code duplication in the test suite test_views_acl.py (#20887)
---
tests/www/views/test_views_acl.py | 75 +++++++++++++++------------------------
1 file changed, 29 insertions(+), 46 deletions(-)
diff --git a/tests/www/views/test_views_acl.py
b/tests/www/views/test_views_acl.py
index 1394195..53c45b9 100644
--- a/tests/www/views/test_views_acl.py
+++ b/tests/www/views/test_views_acl.py
@@ -87,52 +87,35 @@ def acl_app(app):
**kwargs,
)
- # FIXME: Clean up this block of code.....
-
- website_permission = security_manager.get_permission(
- permissions.ACTION_CAN_READ, permissions.RESOURCE_WEBSITE
- )
-
- dag_tester_role = security_manager.find_role('dag_acl_tester')
- edit_perm_on_dag = security_manager.get_permission(
- permissions.ACTION_CAN_EDIT, 'DAG:example_bash_operator'
- )
- security_manager.add_permission_to_role(dag_tester_role, edit_perm_on_dag)
- read_perm_on_dag = security_manager.get_permission(
- permissions.ACTION_CAN_READ, 'DAG:example_bash_operator'
- )
- security_manager.add_permission_to_role(dag_tester_role, read_perm_on_dag)
- security_manager.add_permission_to_role(dag_tester_role,
website_permission)
-
- all_dag_role = security_manager.find_role('all_dag_role')
- edit_perm_on_all_dag = security_manager.get_permission(
- permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG
- )
- security_manager.add_permission_to_role(all_dag_role, edit_perm_on_all_dag)
- read_perm_on_all_dag = security_manager.get_permission(
- permissions.ACTION_CAN_READ, permissions.RESOURCE_DAG
- )
- security_manager.add_permission_to_role(all_dag_role, read_perm_on_all_dag)
- read_perm_on_task_instance = security_manager.get_permission(
- permissions.ACTION_CAN_READ, permissions.RESOURCE_TASK_INSTANCE
- )
- security_manager.add_permission_to_role(all_dag_role,
read_perm_on_task_instance)
- security_manager.add_permission_to_role(all_dag_role, website_permission)
-
- role_user = security_manager.find_role('User')
- security_manager.add_permission_to_role(role_user, read_perm_on_all_dag)
- security_manager.add_permission_to_role(role_user, edit_perm_on_all_dag)
- security_manager.add_permission_to_role(role_user, website_permission)
-
- read_only_perm_on_dag = security_manager.get_permission(
- permissions.ACTION_CAN_READ, 'DAG:example_bash_operator'
- )
- dag_read_only_role = security_manager.find_role('dag_acl_read_only')
- security_manager.add_permission_to_role(dag_read_only_role,
read_only_perm_on_dag)
- security_manager.add_permission_to_role(dag_read_only_role,
website_permission)
-
- dag_acl_faker_role = security_manager.find_role('dag_acl_faker')
- security_manager.add_permission_to_role(dag_acl_faker_role,
website_permission)
+ role_permissions = {
+ 'dag_acl_tester': [
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_WEBSITE),
+ (permissions.ACTION_CAN_EDIT, 'DAG:example_bash_operator'),
+ (permissions.ACTION_CAN_READ, 'DAG:example_bash_operator'),
+ ],
+ 'all_dag_role': [
+ (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_DAG),
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_TASK_INSTANCE),
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_WEBSITE),
+ ],
+ 'User': [
+ (permissions.ACTION_CAN_EDIT, permissions.RESOURCE_DAG),
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_DAG),
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_WEBSITE),
+ ],
+ 'dag_acl_read_only': [
+ (permissions.ACTION_CAN_READ, 'DAG:example_bash_operator'),
+ (permissions.ACTION_CAN_READ, permissions.RESOURCE_WEBSITE),
+ ],
+ 'dag_acl_faker': [(permissions.ACTION_CAN_READ,
permissions.RESOURCE_WEBSITE)],
+ }
+
+ for _role, _permissions in role_permissions.items():
+ role = security_manager.find_role(_role)
+ for _action, _perm in _permissions:
+ perm = security_manager.get_permission(_action, _perm)
+ security_manager.add_permission_to_role(role, perm)
yield app