Merge pull request #6926 from AlanCoding/no_manual_manual_sources

prohibit direct creation of manual inventory sources
This commit is contained in:
Alan Rominger 2017-07-12 12:45:37 -04:00 committed by GitHub
commit 9371fb2e53
2 changed files with 10 additions and 2 deletions

View File

@ -1640,6 +1640,12 @@ class InventorySourceSerializer(UnifiedJobTemplateSerializer, InventorySourceOpt
def validate_source_project(self, value):
if value.scm_type == '':
raise serializers.ValidationError(_("Can not use manual project for SCM-based inventory."))
def validate_source(self, value):
if value == '':
raise serializers.ValidationError(
{"source": "Manual inventory sources are created automatically "
"when a group is created in the v1 API."})
return value
def validate(self, attrs):

View File

@ -342,8 +342,10 @@ class TestControlledBySCM:
def test_adding_inv_src_without_proj_access_prohibited(self, post, project, inventory, rando):
inventory.admin_role.members.add(rando)
post(reverse('api:inventory_inventory_sources_list', kwargs={'pk': inventory.id}),
{'name': 'new inv src', 'source_project': project.pk}, rando, expect=403)
post(
reverse('api:inventory_inventory_sources_list', kwargs={'pk': inventory.id}),
{'name': 'new inv src', 'source_project': project.pk, 'source': 'scm', 'overwrite_vars': True},
rando, expect=403)
def test_no_post_in_options(self, options, scm_inventory, admin_user):
r = options(reverse('api:inventory_inventory_sources_list', kwargs={'pk': scm_inventory.id}),