mirror of
https://github.com/ansible/awx.git
synced 2026-03-03 17:51:06 -03:30
Update the Organization API list and detail tests to check the host counts
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import itertools
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from awx.api.versioning import reverse
|
from awx.api.versioning import reverse
|
||||||
@@ -17,7 +19,10 @@ def organization_resource_creator(organization, user):
|
|||||||
for i in range(teams):
|
for i in range(teams):
|
||||||
organization.teams.create(name='org-team %s' % i)
|
organization.teams.create(name='org-team %s' % i)
|
||||||
for i in range(inventories):
|
for i in range(inventories):
|
||||||
inventory = organization.inventories.create(name="associated-inv %s" % i)
|
organization.inventories.create(name="associated-inv %s" % i)
|
||||||
|
for i, inventory in zip(range(hosts), itertools.cycle(organization.inventories.all())):
|
||||||
|
# evenly distribute the hosts over all of the org's inventories
|
||||||
|
inventory.hosts.create(name="host %s" % i)
|
||||||
for i in range(projects):
|
for i in range(projects):
|
||||||
organization.projects.create(name="test-proj %s" % i,
|
organization.projects.create(name="test-proj %s" % i,
|
||||||
description="test-proj-desc")
|
description="test-proj-desc")
|
||||||
@@ -49,7 +54,7 @@ COUNTS_PRIMES = {
|
|||||||
'projects': 3,
|
'projects': 3,
|
||||||
'inventories': 7,
|
'inventories': 7,
|
||||||
'teams': 5,
|
'teams': 5,
|
||||||
'hosts': 0,
|
'hosts': 7,
|
||||||
}
|
}
|
||||||
COUNTS_ZEROS = {
|
COUNTS_ZEROS = {
|
||||||
'users': 0,
|
'users': 0,
|
||||||
@@ -86,6 +91,7 @@ def test_org_counts_detail_member(resourced_organization, user, get):
|
|||||||
response = get(reverse('api:organization_detail',
|
response = get(reverse('api:organization_detail',
|
||||||
kwargs={'pk': resourced_organization.pk}), member_user)
|
kwargs={'pk': resourced_organization.pk}), member_user)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
assert response.data['max_hosts'] == 0
|
||||||
|
|
||||||
counts = response.data['summary_fields']['related_field_counts']
|
counts = response.data['summary_fields']['related_field_counts']
|
||||||
assert counts == {
|
assert counts == {
|
||||||
@@ -95,7 +101,7 @@ def test_org_counts_detail_member(resourced_organization, user, get):
|
|||||||
'projects': 0,
|
'projects': 0,
|
||||||
'inventories': 0,
|
'inventories': 0,
|
||||||
'teams': 0,
|
'teams': 0,
|
||||||
'hosts': 0,
|
'hosts': 7,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -117,9 +123,9 @@ def test_org_counts_list_member(resourced_organization, user, get):
|
|||||||
member_user = resourced_organization.member_role.members.get(username='org-member 1')
|
member_user = resourced_organization.member_role.members.get(username='org-member 1')
|
||||||
response = get(reverse('api:organization_list'), member_user)
|
response = get(reverse('api:organization_list'), member_user)
|
||||||
assert response.status_code == 200
|
assert response.status_code == 200
|
||||||
|
assert response.data['results'][0]['max_hosts'] == 0
|
||||||
|
|
||||||
counts = response.data['results'][0]['summary_fields']['related_field_counts']
|
counts = response.data['results'][0]['summary_fields']['related_field_counts']
|
||||||
|
|
||||||
assert counts == {
|
assert counts == {
|
||||||
'users': COUNTS_PRIMES['users'], # Policy is that members can see other users and admins
|
'users': COUNTS_PRIMES['users'], # Policy is that members can see other users and admins
|
||||||
'admins': COUNTS_PRIMES['admins'],
|
'admins': COUNTS_PRIMES['admins'],
|
||||||
@@ -127,7 +133,7 @@ def test_org_counts_list_member(resourced_organization, user, get):
|
|||||||
'projects': 0,
|
'projects': 0,
|
||||||
'inventories': 0,
|
'inventories': 0,
|
||||||
'teams': 0,
|
'teams': 0,
|
||||||
'hosts': 0,
|
'hosts': 7,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user