mirror of
https://github.com/ansible/awx.git
synced 2026-01-21 06:28:01 -03:30
64 lines
1.9 KiB
Python
64 lines
1.9 KiB
Python
import pytest
|
|
|
|
from django.contrib.sessions.middleware import SessionMiddleware
|
|
|
|
from awx.main.models import User
|
|
from awx.api.versioning import reverse
|
|
|
|
|
|
#
|
|
# user creation
|
|
#
|
|
|
|
EXAMPLE_USER_DATA = {
|
|
"username": "affable",
|
|
"first_name": "a",
|
|
"last_name": "a",
|
|
"email": "a@a.com",
|
|
"is_superuser": False,
|
|
"password": "r$TyKiOCb#ED"
|
|
}
|
|
|
|
|
|
@pytest.mark.django_db
|
|
def test_user_create(post, admin):
|
|
response = post(reverse('api:user_list'), EXAMPLE_USER_DATA, admin, middleware=SessionMiddleware())
|
|
assert response.status_code == 201
|
|
assert not response.data['is_superuser']
|
|
assert not response.data['is_system_auditor']
|
|
|
|
|
|
@pytest.mark.django_db
|
|
def test_fail_double_create_user(post, admin):
|
|
response = post(reverse('api:user_list'), EXAMPLE_USER_DATA, admin, middleware=SessionMiddleware())
|
|
assert response.status_code == 201
|
|
|
|
response = post(reverse('api:user_list'), EXAMPLE_USER_DATA, admin, middleware=SessionMiddleware())
|
|
assert response.status_code == 400
|
|
|
|
|
|
@pytest.mark.django_db
|
|
def test_create_delete_create_user(post, delete, admin):
|
|
response = post(reverse('api:user_list'), EXAMPLE_USER_DATA, admin, middleware=SessionMiddleware())
|
|
assert response.status_code == 201
|
|
|
|
response = delete(reverse('api:user_detail', kwargs={'pk': response.data['id']}), admin,
|
|
middleware=SessionMiddleware())
|
|
assert response.status_code == 204
|
|
|
|
response = post(reverse('api:user_list'), EXAMPLE_USER_DATA, admin, middleware=SessionMiddleware())
|
|
print(response.data)
|
|
assert response.status_code == 201
|
|
|
|
|
|
@pytest.mark.django_db
|
|
def test_user_cannot_update_last_login(patch, admin):
|
|
assert admin.last_login is None
|
|
patch(
|
|
reverse('api:user_detail', kwargs={'pk': admin.pk}),
|
|
{'last_login': '2020-03-13T16:39:47.303016Z'},
|
|
admin,
|
|
middleware=SessionMiddleware()
|
|
)
|
|
assert User.objects.get(pk=admin.pk).last_login is None
|