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

@@ -1719,6 +1719,8 @@ class HostSerializer(BaseSerializerWithVariables):
name = force_text(value or '')
# Validate here only, update in main validate method.
host, port = self._get_host_port_from_name(name)
if Group.objects.filter(name=value).exists():
raise serializers.ValidationError(_('Invalid group name. Name already exists as a Group.'))
return value
def validate_inventory(self, value):
@@ -1808,6 +1810,8 @@ class GroupSerializer(BaseSerializerWithVariables):
def validate_name(self, value):
if value in ('all', '_meta'):
raise serializers.ValidationError(_('Invalid group name.'))
elif Host.objects.filter(name=value).exists():
raise serializers.ValidationError(_('Invalid group name. Name already exists as a Host.'))
return value
def validate_inventory(self, value):