Projet

Général

Profil

0003-manage-ensure-created-users-have-a-password-47943.patch

Benjamin Dauvergne, 05 novembre 2020 18:46

Télécharger (1,95 ko)

Voir les différences:

Subject: [PATCH 3/4] manage: ensure created users have a password (#47943)

 src/authentic2/manager/forms.py |  3 +++
 tests/test_user_manager.py      | 15 +++++++++++++++
 2 files changed, 18 insertions(+)
src/authentic2/manager/forms.py
331 331
            raise forms.ValidationError(
332 332
                _('You must set a username or an email to set a password or send an activation link.'))
333 333

  
334
        if not has_password:
335
            self.instance.set_random_password()
336

  
334 337
    def has_email(self):
335 338
        return bool(self.cleaned_data.get('email'))
336 339

  
tests/test_user_manager.py
189 189
    assert 'This email address is already in use' in response
190 190

  
191 191

  
192
def test_create_user_no_password(app, superuser):
193
    response = login(app, superuser, '/manage/users/')
194
    response = response.click('Add user')
195
    response.form.set('first_name', 'John')
196
    response.form.set('last_name', 'Doe')
197
    response.form.set('generate_password', False)
198
    response.form.set('password1', '')
199
    response.form.set('password2', '')
200
    response.form.set('send_password_reset', False)
201
    response = response.form.submit(status=302)
202

  
203
    user = User.objects.filter(is_superuser=False).get()
204
    assert user.has_usable_password()
205

  
206

  
192 207
def test_manager_user_change_email(app, superuser_or_admin, simple_user, mailoutbox):
193 208
    ou = get_default_ou()
194 209
    ou.validate_emails = True
195
-