Migration and tests for super users

This commit is contained in:
Akita Noek 2016-02-08 22:45:57 -05:00
parent 5008e3faf5
commit d51447e158
2 changed files with 30 additions and 0 deletions

View File

@ -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")

View 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