mirror of
https://github.com/ansible/awx.git
synced 2026-02-17 03:00:04 -03:30
Blocks creation of Hosts, Groups, and IS for Smart Inventories
* Updated View unit tests * Refactored Validators * Validator Fix for Blocking
This commit is contained in:
@@ -5,7 +5,9 @@ from django.core.exceptions import ValidationError
|
||||
|
||||
from awx.api.versioning import reverse
|
||||
|
||||
from awx.main.models import InventorySource
|
||||
from awx.main.models import InventorySource, Inventory
|
||||
|
||||
import json
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
@@ -175,6 +177,54 @@ def test_delete_inventory_group(delete, group, alice, role_field, expected_statu
|
||||
delete(reverse('api:group_detail', kwargs={'pk': group.id}), alice, expect=expected_status_code)
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_inventory_smarthost(post, get, inventory, admin_user, organization):
|
||||
data = { 'name': 'Host 1', 'description': 'Test Host'}
|
||||
smart_inventory = Inventory(name='smart',
|
||||
kind='smart',
|
||||
organization=organization,
|
||||
host_filter='inventory_sources__source=ec2')
|
||||
smart_inventory.save()
|
||||
post(reverse('api:inventory_hosts_list', kwargs={'pk': smart_inventory.id}), data, admin_user)
|
||||
resp = get(reverse('api:inventory_hosts_list', kwargs={'pk': smart_inventory.id}), admin_user)
|
||||
jdata = json.loads(resp.content)
|
||||
|
||||
assert getattr(smart_inventory, 'kind') == 'smart'
|
||||
assert jdata['count'] == 0
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_inventory_smartgroup(post, get, inventory, admin_user, organization):
|
||||
data = { 'name': 'Group 1', 'description': 'Test Group'}
|
||||
smart_inventory = Inventory(name='smart',
|
||||
kind='smart',
|
||||
organization=organization,
|
||||
host_filter='inventory_sources__source=ec2')
|
||||
smart_inventory.save()
|
||||
post(reverse('api:inventory_groups_list', kwargs={'pk': smart_inventory.id}), data, admin_user)
|
||||
resp = get(reverse('api:inventory_groups_list', kwargs={'pk': smart_inventory.id}), admin_user)
|
||||
jdata = json.loads(resp.content)
|
||||
|
||||
assert getattr(smart_inventory, 'kind') == 'smart'
|
||||
assert jdata['count'] == 0
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_inventory_smart_inventory_sources(post, get, inventory, admin_user, organization):
|
||||
data = { 'name': 'Inventory Source 1', 'description': 'Test Inventory Source'}
|
||||
smart_inventory = Inventory(name='smart',
|
||||
kind='smart',
|
||||
organization=organization,
|
||||
host_filter='inventory_sources__source=ec2')
|
||||
smart_inventory.save()
|
||||
post(reverse('api:inventory_inventory_sources_list', kwargs={'pk': smart_inventory.id}), data, admin_user)
|
||||
resp = get(reverse('api:inventory_inventory_sources_list', kwargs={'pk': smart_inventory.id}), admin_user)
|
||||
jdata = json.loads(resp.content)
|
||||
|
||||
assert getattr(smart_inventory, 'kind') == 'smart'
|
||||
assert jdata['count'] == 0
|
||||
|
||||
|
||||
@pytest.mark.parametrize("role_field,expected_status_code", [
|
||||
(None, 403),
|
||||
('admin_role', 201),
|
||||
|
||||
Reference in New Issue
Block a user