added change so that groups and host names cannot share the same name in the same inventory. added tests to validate

This commit is contained in:
Jake Jackson
2020-05-21 16:50:27 -04:00
parent fa53cdf329
commit 606d4e0ea2
2 changed files with 19 additions and 0 deletions

View File

@@ -59,6 +59,21 @@ def test_inventory_source_unique_together_with_inv(inventory_factory):
is2 = InventorySource(name='foo', source='file', inventory=inv2)
is2.validate_unique()
@pytest.mark.django_db
def test_inventory_host_name_unique(scm_inventory, post, admin_user):
inv_src = scm_inventory.inventory_sources.first()
group = inv_src.groups.create(name='barfoo', inventory=scm_inventory)
group.save()
host1 = inv_src.hosts.create(name='barfoo', inventory=scm_inventory)
post(reverse('api:inventory_hosts_list', kwargs={'pk': host1.id}), admin_user, expect=400)
@pytest.mark.django_db
def test_inventory_group_name_unique(scm_inventory, post, admin_user):
inv_src = scm_inventory.inventory_sources.first()
host = inv_src.hosts.create(name='barfoo', inventory=scm_inventory)
host.save()
group = inv_src.groups.create(name='barfoo', inventory=scm_inventory)
post(reverse('api:inventory_groups_list', kwargs={'pk': group.id}), admin_user, expect=400)
@pytest.mark.parametrize("role_field,expected_status_code", [
(None, 403),