mirror of
https://github.com/ansible/awx.git
synced 2026-01-11 10:00:01 -03:30
Migration and tests for super users
This commit is contained in:
parent
5008e3faf5
commit
d51447e158
@ -1,5 +1,15 @@
|
||||
from collections import defaultdict
|
||||
|
||||
def migrate_users(apps, schema_editor):
|
||||
migrations = list()
|
||||
User = apps.get_model('auth', "User")
|
||||
Role = apps.get_model('main', "Role")
|
||||
for user in User.objects.all():
|
||||
if user.is_superuser:
|
||||
Role.singleton('System Administrator').members.add(user)
|
||||
migrations.append(user)
|
||||
return migrations
|
||||
|
||||
def migrate_organization(apps, schema_editor):
|
||||
migrations = defaultdict(list)
|
||||
organization = apps.get_model('main', "Organization")
|
||||
|
||||
20
awx/main/tests/functional/test_rbac_user.py
Normal file
20
awx/main/tests/functional/test_rbac_user.py
Normal file
@ -0,0 +1,20 @@
|
||||
import pytest
|
||||
|
||||
from awx.main.migrations import _rbac as rbac
|
||||
from awx.main.models import Role
|
||||
from django.apps import apps
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_user_admin(user_project, project, user):
|
||||
joe = user('joe', is_superuser = False)
|
||||
admin = user('admin', is_superuser = True)
|
||||
sa = Role.singleton('System Administrator')
|
||||
|
||||
assert sa.members.filter(id=joe.id).exists() is False
|
||||
assert sa.members.filter(id=admin.id).exists() is False
|
||||
|
||||
migrations = rbac.migrate_users(apps, None)
|
||||
|
||||
assert sa.members.filter(id=joe.id).exists() is False
|
||||
assert sa.members.filter(id=admin.id).exists() is True
|
||||
assert len(migrations) == 1
|
||||
Loading…
x
Reference in New Issue
Block a user