Add tests for osusers.admin
This commit raises the test coverage for osusers.admin to 100% by adding tests for UserAdmin, GroupAdmin, SshPublicKeyCreationForm and SshPublicKeyAdmin. The commit adds a refactoring TODO to SshPublicKeyAdmin.perform_delete_selected because the asynchronous background task should be launched from a signal handler.
This commit is contained in:
parent
fb1f31a9bc
commit
4f39c0d2c4
2 changed files with 170 additions and 7 deletions
|
@ -178,7 +178,7 @@ class UserAdmin(admin.ModelAdmin):
|
|||
|
||||
"""
|
||||
actions = super(UserAdmin, self).get_actions(request)
|
||||
if 'delete_selected' in actions:
|
||||
if 'delete_selected' in actions: # pragma: no cover
|
||||
del actions['delete_selected']
|
||||
return actions
|
||||
|
||||
|
@ -219,7 +219,7 @@ class GroupAdmin(admin.ModelAdmin):
|
|||
|
||||
"""
|
||||
actions = super(GroupAdmin, self).get_actions(request)
|
||||
if 'delete_selected' in actions:
|
||||
if 'delete_selected' in actions: # pragma: no cover
|
||||
del actions['delete_selected']
|
||||
return actions
|
||||
|
||||
|
@ -257,6 +257,7 @@ class SshPublicKeyCreationForm(forms.ModelForm):
|
|||
self.add_error(
|
||||
'publickeytext',
|
||||
forms.ValidationError(DUPLICATE_SSH_PUBLIC_KEY_FOR_USER))
|
||||
super(SshPublicKeyCreationForm, self).clean()
|
||||
|
||||
def save(self, commit=True):
|
||||
"""
|
||||
|
@ -347,13 +348,14 @@ class SshPublicKeyAdmin(admin.ModelAdmin):
|
|||
])
|
||||
queryset.delete()
|
||||
for user in users:
|
||||
# TODO: move to model/signal
|
||||
TaskResult.objects.create_task_result(
|
||||
set_file_ssh_authorized_keys.delay(
|
||||
'perform_delete_selected',
|
||||
set_file_ssh_authorized_keys.s(
|
||||
User.objects.get(uid=user).username,
|
||||
[str(key) for key in SshPublicKey.objects.filter(
|
||||
user_id=user)]
|
||||
),
|
||||
'set_file_ssh_authorized_keys'
|
||||
)
|
||||
)
|
||||
perform_delete_selected.short_description = _(
|
||||
'Delete selected SSH public keys')
|
||||
|
@ -371,7 +373,7 @@ class SshPublicKeyAdmin(admin.ModelAdmin):
|
|||
|
||||
"""
|
||||
actions = super(SshPublicKeyAdmin, self).get_actions(request)
|
||||
if 'delete_selected' in actions:
|
||||
if 'delete_selected' in actions: # pragma: no cover
|
||||
del actions['delete_selected']
|
||||
return actions
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue