tests: copy/paste users tests to member users api (#50889)
This commit is contained in:
parent
ed01a4e8c3
commit
b21d5a56b1
|
@ -186,6 +186,17 @@ def test_api_users_list(app, user):
|
|||
assert resp.json['next'] is None
|
||||
|
||||
|
||||
def test_api_member_users_list(app, user, simple_role):
|
||||
app.authorization = ('Basic', (user.username, user.username))
|
||||
url = reverse('a2-api-role-members-list', kwargs={'role_uuid': simple_role.uuid})
|
||||
simple_role.members.add(user)
|
||||
resp = app.get(url)
|
||||
assert isinstance(resp.json, dict)
|
||||
assert set(['previous', 'next', 'results']) == set(resp.json.keys())
|
||||
assert resp.json['previous'] is None
|
||||
assert resp.json['next'] is None
|
||||
|
||||
|
||||
def test_api_users_update_with_email_verified(settings, app, admin, simple_user):
|
||||
from django.contrib.auth import get_user_model
|
||||
|
||||
|
@ -375,6 +386,41 @@ def test_api_users_list_by_authorized_service(app, superuser):
|
|||
assert len(resp.json['results']) == 4
|
||||
|
||||
|
||||
def test_api_member_users_list_by_authorized_service(app, superuser, simple_role):
|
||||
from authentic2.models import Service
|
||||
|
||||
app.authorization = ('Basic', (superuser.username, superuser.username))
|
||||
url = reverse('a2-api-role-members-list', kwargs={'role_uuid': simple_role.uuid})
|
||||
|
||||
user1 = User.objects.create(username='user1')
|
||||
user2 = User.objects.create(username='user2')
|
||||
user3 = User.objects.create(username='user3')
|
||||
|
||||
role1 = Role.objects.create(name='role1')
|
||||
role2 = Role.objects.create(name='role2')
|
||||
role1.add_child(role2)
|
||||
user1.roles.set([role1])
|
||||
user2.roles.set([role2])
|
||||
|
||||
service1 = Service.objects.create(ou=get_default_ou(), name='service1', slug='service1')
|
||||
service1.add_authorized_role(role1)
|
||||
|
||||
service2 = Service.objects.create(ou=get_default_ou(), name='service2', slug='service2')
|
||||
|
||||
for user in superuser, user1, user2, user3:
|
||||
simple_role.members.add(user)
|
||||
|
||||
resp = app.get(url)
|
||||
assert len(resp.json['results']) == 4
|
||||
|
||||
resp = app.get(url + '?service-ou=default&service-slug=service1')
|
||||
assert len(resp.json['results']) == 2
|
||||
assert set(user['username'] for user in resp.json['results']) == set(['user1', 'user2'])
|
||||
|
||||
resp = app.get(url + '?service-ou=default&service-slug=service2')
|
||||
assert len(resp.json['results']) == 4
|
||||
|
||||
|
||||
def test_api_users_list_search_text(app, superuser):
|
||||
app.authorization = ('Basic', (superuser.username, superuser.username))
|
||||
User = get_user_model()
|
||||
|
@ -390,6 +436,23 @@ def test_api_users_list_search_text(app, superuser):
|
|||
assert not len(results)
|
||||
|
||||
|
||||
def test_api_member_users_list_search_text(app, superuser, simple_role):
|
||||
app.authorization = ('Basic', (superuser.username, superuser.username))
|
||||
url = reverse('a2-api-role-members-list', kwargs={'role_uuid': simple_role.uuid})
|
||||
User = get_user_model()
|
||||
someuser = User.objects.create(username='someuser')
|
||||
simple_role.members.add(someuser)
|
||||
resp = app.get(url + '?q=some')
|
||||
results = resp.json['results']
|
||||
assert len(results) == 1
|
||||
assert results[0]['username'] == 'someuser'
|
||||
|
||||
someuser.delete()
|
||||
resp = app.get(url + '?q=some')
|
||||
results = resp.json['results']
|
||||
assert len(results) == 0
|
||||
|
||||
|
||||
def test_api_users_create(settings, app, api_user):
|
||||
from django.contrib.auth import get_user_model
|
||||
|
||||
|
@ -1981,6 +2044,28 @@ def test_filter_users_by_service(app, admin, simple_user, role_random, service):
|
|||
assert len(resp.json['results']) == 1
|
||||
|
||||
|
||||
def test_filter_member_users_by_service(app, admin, simple_user, simple_role, role_random, service):
|
||||
app.authorization = ('Basic', (admin.username, admin.username))
|
||||
url = reverse('a2-api-role-members-list', kwargs={'role_uuid': simple_role.uuid})
|
||||
simple_role.members.add(admin)
|
||||
simple_role.members.add(simple_user)
|
||||
|
||||
resp = app.get(url)
|
||||
assert len(resp.json['results']) == 2
|
||||
|
||||
resp = app.get(url + '?service-slug=xxx')
|
||||
assert len(resp.json['results']) == 0
|
||||
|
||||
resp = app.get(url + '?service-slug=service&service-ou=default')
|
||||
assert len(resp.json['results']) == 2
|
||||
|
||||
role_random.members.add(simple_user)
|
||||
AuthorizedRole.objects.get_or_create(service=service, role=role_random)
|
||||
|
||||
resp = app.get(url + '?service-slug=service&service-ou=default')
|
||||
assert len(resp.json['results']) == 1
|
||||
|
||||
|
||||
def test_filter_users_by_last_modification(app, admin, simple_user, freezer):
|
||||
app.authorization = ('Basic', (admin.username, admin.username))
|
||||
|
||||
|
@ -1996,6 +2081,24 @@ def test_filter_users_by_last_modification(app, admin, simple_user, freezer):
|
|||
assert len(resp.json['results']) == 0
|
||||
|
||||
|
||||
def test_filter_member_users_by_last_modification(app, admin, simple_user, simple_role, freezer):
|
||||
app.authorization = ('Basic', (admin.username, admin.username))
|
||||
url = reverse('a2-api-role-members-list', kwargs={'role_uuid': simple_role.uuid})
|
||||
simple_role.members.add(admin)
|
||||
simple_role.members.add(simple_user)
|
||||
|
||||
freezer.move_to('2019-10-27T02:00:00Z')
|
||||
|
||||
admin.save()
|
||||
simple_user.save()
|
||||
|
||||
# AmbiguousTimeError
|
||||
resp = app.get(url, params={'modified__gt': '2019-10-27T02:58:07'})
|
||||
assert len(resp.json['results']) == 2
|
||||
resp = app.get(url, params={'modified__lt': '2019-10-27T02:58:07'})
|
||||
assert len(resp.json['results']) == 0
|
||||
|
||||
|
||||
def test_free_text_search(app, admin, settings):
|
||||
settings.LANGUAGE_CODE = 'fr' # use fr date format
|
||||
|
||||
|
|
Loading…
Reference in New Issue