mirror of
https://github.com/ansible/awx.git
synced 2026-01-13 11:00:03 -03:30
Merge pull request #1513 from anoek/1499
Fix erronous singleton role created for users
This commit is contained in:
commit
40731f6fc8
@ -123,10 +123,14 @@ def sync_superuser_status_to_rbac(instance, **kwargs):
|
||||
|
||||
def create_user_role(instance, **kwargs):
|
||||
try:
|
||||
instance.admin_role
|
||||
Role.objects.get(
|
||||
content_type=ContentType.objects.get_for_model(instance),
|
||||
object_id=instance.id,
|
||||
name = 'Owner'
|
||||
)
|
||||
except Role.DoesNotExist:
|
||||
role = Role.objects.create(
|
||||
singleton_name = '%s-admin_role' % instance.username,
|
||||
name = 'Owner',
|
||||
content_object = instance,
|
||||
)
|
||||
role.members.add(instance)
|
||||
|
||||
68
awx/main/tests/functional/api/test_user.py
Normal file
68
awx/main/tests/functional/api/test_user.py
Normal file
@ -0,0 +1,68 @@
|
||||
import pytest
|
||||
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
|
||||
#
|
||||
# user creation
|
||||
#
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_user_create(post, admin):
|
||||
response = post(reverse('api:user_list'), {
|
||||
"username": "affable",
|
||||
"first_name": "a",
|
||||
"last_name": "a",
|
||||
"email": "a@a.com",
|
||||
"is_superuser": False,
|
||||
"password": "fo0m4nchU"
|
||||
}, admin)
|
||||
assert response.status_code == 201
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_fail_double_create_user(post, admin):
|
||||
response = post(reverse('api:user_list'), {
|
||||
"username": "affable",
|
||||
"first_name": "a",
|
||||
"last_name": "a",
|
||||
"email": "a@a.com",
|
||||
"is_superuser": False,
|
||||
"password": "fo0m4nchU"
|
||||
}, admin)
|
||||
assert response.status_code == 201
|
||||
|
||||
response = post(reverse('api:user_list'), {
|
||||
"username": "affable",
|
||||
"first_name": "a",
|
||||
"last_name": "a",
|
||||
"email": "a@a.com",
|
||||
"is_superuser": False,
|
||||
"password": "fo0m4nchU"
|
||||
}, admin)
|
||||
assert response.status_code == 400
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_delete_create_user(post, delete, admin):
|
||||
response = post(reverse('api:user_list'), {
|
||||
"username": "affable",
|
||||
"first_name": "a",
|
||||
"last_name": "a",
|
||||
"email": "a@a.com",
|
||||
"is_superuser": False,
|
||||
"password": "fo0m4nchU"
|
||||
}, admin)
|
||||
assert response.status_code == 201
|
||||
|
||||
response = delete(reverse('api:user_detail', args=(response.data['id'],)), admin)
|
||||
assert response.status_code == 204
|
||||
|
||||
response = post(reverse('api:user_list'), {
|
||||
"username": "affable",
|
||||
"first_name": "a",
|
||||
"last_name": "a",
|
||||
"email": "a@a.com",
|
||||
"is_superuser": False,
|
||||
"password": "fo0m4nchU"
|
||||
}, admin)
|
||||
print(response.data)
|
||||
assert response.status_code == 201
|
||||
Loading…
x
Reference in New Issue
Block a user