This is an automated email from the ASF dual-hosted git repository. kaxilnaik pushed a commit to branch v1-10-test in repository https://gitbox.apache.org/repos/asf/airflow.git
commit 5b455d98f6f703ce1cf9b4a8b0de29f9e5b12bed Author: Jed Cunningham <[email protected]> AuthorDate: Sun Sep 6 12:26:08 2020 -0400 Add permission "extra_links" for Viewer role and above (#10719) This change adds 'can extra links on Airflow' to the Viewer role and above. Currently, only Admins can see extra links by default. (cherry picked from commit 59f9a4116a310f7cf675c09a0aba49b186494d9b) --- airflow/www_rbac/security.py | 1 + tests/www_rbac/test_views.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/airflow/www_rbac/security.py b/airflow/www_rbac/security.py index 0108081..d44cf70 100644 --- a/airflow/www_rbac/security.py +++ b/airflow/www_rbac/security.py @@ -112,6 +112,7 @@ class AirflowSecurityManager(SecurityManager, LoggingMixin): 'can_rendered', 'can_pickle_info', 'can_version', + 'can_extra_links' } USER_PERMS = { diff --git a/tests/www_rbac/test_views.py b/tests/www_rbac/test_views.py index 4e06b57..9b019bd 100644 --- a/tests/www_rbac/test_views.py +++ b/tests/www_rbac/test_views.py @@ -2322,6 +2322,25 @@ class TestExtraLinks(TestBase): def tearDown(self): super(TestExtraLinks, self).tearDown() + self.logout() + self.login() + + def login(self): + role_viewer = self.appbuilder.sm.find_role('Viewer') + test_viewer = self.appbuilder.sm.find_user(username='test_viewer') + if not test_viewer: + self.appbuilder.sm.add_user( + username='test_viewer', + first_name='test_viewer', + last_name='test_viewer', + email='[email protected]', + role=role_viewer, + password='test_viewer') + + return self.client.post('/login/', data=dict( + username='test_viewer', + password='test_viewer' + )) @mock.patch('airflow.www_rbac.views.dagbag.get_dag') def test_extra_links_works(self, get_dag_function):
