@@ -126,6 +126,27 @@ def test_list_configs_when_none_allowed(self):
126126
127127 self .assert_list_config_names (self .user1 , [])
128128
129+ def test_list_configs_when_edit_mode_and_admin (self ):
130+ _create_script_config_file ('a1' , allowed_users = ['adm_user' ])
131+ _create_script_config_file ('c2' , allowed_users = ['adm_user' ])
132+
133+ self .assert_list_config_names (self .admin_user , ['a1' , 'c2' ], mode = 'edit' )
134+
135+ def test_list_configs_when_edit_mode_and_admin_without_allowance (self ):
136+ _create_script_config_file ('a1' , allowed_users = ['user1' ])
137+ _create_script_config_file ('c2' , allowed_users = ['adm_user' ])
138+
139+ self .assert_list_config_names (self .admin_user , ['a1' , 'c2' ], mode = 'edit' )
140+
141+ def test_list_configs_when_edit_mode_and_non_admin (self ):
142+ _create_script_config_file ('a1' , allowed_users = ['user1' ])
143+ _create_script_config_file ('c2' , allowed_users = ['user1' ])
144+
145+ self .assertRaises (AdminAccessRequiredException ,
146+ self .config_service .list_configs ,
147+ self .user1 ,
148+ 'edit' )
149+
129150 def test_load_config_when_user_allowed (self ):
130151 _create_script_config_file ('my_script' , allowed_users = ['ABC' , 'user1' , 'qwerty' ])
131152
@@ -138,8 +159,8 @@ def test_load_config_when_user_not_allowed(self):
138159
139160 self .assertRaises (ConfigNotAllowedException , self .config_service .load_config_model , 'my_script' , self .user1 )
140161
141- def assert_list_config_names (self , user , expected_names ):
142- configs = self .config_service .list_configs (user )
162+ def assert_list_config_names (self , user , expected_names , mode = None ):
163+ configs = self .config_service .list_configs (user , mode )
143164 conf_names = [config .name for config in configs ]
144165 self .assertCountEqual (expected_names , conf_names )
145166
@@ -151,8 +172,9 @@ def setUp(self):
151172 super ().setUp ()
152173 test_utils .setup ()
153174
154- authorizer = Authorizer ([], [], [], EmptyGroupProvider ())
175+ authorizer = Authorizer ([], ['adm_user' ], [], EmptyGroupProvider ())
155176 self .user1 = User ('user1' , {})
177+ self .admin_user = User ('adm_user' , {})
156178 self .config_service = ConfigService (authorizer , test_utils .temp_folder )
157179
158180
0 commit comments