@@ -121,6 +121,72 @@ def test_cli_addremove_role(script_info):
121
121
assert result .exit_code == 0
122
122
123
123
124
+ def test_cli_addremove_role_username (username_script_info ):
125
+ """Test add/remove role, for username-only model"""
126
+ runner = CliRunner ()
127
+ script_info = username_script_info
128
+
129
+ # Create a user and a role
130
+ result = runner .invoke (
131
+ users_create ,
132
+ ['alice' , '--password' , '123456' ],
133
+ obj = script_info
134
+ )
135
+ assert result .exit_code == 0
136
+ result = runner .invoke (roles_create , ['superuser' ], obj = script_info )
137
+ assert result .exit_code == 0
138
+
139
+ # User not found
140
+ result = runner .invoke (
141
+ roles_add , ['inval' , 'superuser' ],
142
+ obj = script_info )
143
+ assert result .exit_code != 0
144
+
145
+ # Add:
146
+ result = runner .invoke (
147
+ roles_add , ['alice' , 'invalid' ],
148
+ obj = script_info )
149
+ assert result .exit_code != 0
150
+
151
+ result = runner .invoke (
152
+ roles_remove , ['inval' , 'superuser' ],
153
+ obj = script_info )
154
+ assert result .exit_code != 0
155
+
156
+ # Remove:
157
+ result = runner .invoke (
158
+ roles_remove , ['alice' , 'invalid' ],
159
+ obj = script_info )
160
+ assert result .exit_code != 0
161
+
162
+ result = runner .invoke (
163
+ roles_remove , ['bob' , 'superuser' ],
164
+ obj = script_info )
165
+ assert result .exit_code != 0
166
+
167
+ result = runner .invoke (
168
+ roles_remove , ['alice' , 'superuser' ],
169
+ obj = script_info )
170
+ assert result .exit_code != 0
171
+
172
+ # Add:
173
+ result = runner .invoke (roles_add ,
174
+ ['alice' , 'superuser' ],
175
+ obj = script_info )
176
+ assert result .exit_code == 0
177
+ result = runner .invoke (
178
+ roles_add ,
179
+ ['alice' , 'superuser' ],
180
+ obj = script_info )
181
+ assert result .exit_code != 0
182
+
183
+ # Remove:
184
+ result = runner .invoke (
185
+ roles_remove , ['alice' , 'superuser' ],
186
+ obj = script_info )
187
+ assert result .exit_code == 0
188
+
189
+
124
190
def test_cli_activate_deactivate (script_info ):
125
191
"""Test create user CLI."""
126
192
runner = CliRunner ()
0 commit comments