From eaddafc920a9da82a85e04240943a0c3b118946f Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Mon, 24 Jul 2017 10:48:03 -0400 Subject: [PATCH] allow smart inventory to be created related to https://github.com/ansible/ansible-tower/issues/7261 --- awx/main/models/inventory.py | 2 +- awx/main/tests/unit/models/test_inventory.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/awx/main/models/inventory.py b/awx/main/models/inventory.py index e3b71ee594..0e078615c3 100644 --- a/awx/main/models/inventory.py +++ b/awx/main/models/inventory.py @@ -370,7 +370,7 @@ class Inventory(CommonModelNameNotUnique, ResourceMixin): return self.groups.exclude(parents__pk__in=group_pks).distinct() def clean_insights_credential(self): - if self.kind == 'smart': + if self.kind == 'smart' and self.insights_credential: raise ValidationError(_("Assignment not allowed for Smart Inventory")) if self.insights_credential and self.insights_credential.credential_type.kind != 'insights': raise ValidationError(_("Credential kind must be 'insights'.")) diff --git a/awx/main/tests/unit/models/test_inventory.py b/awx/main/tests/unit/models/test_inventory.py index 4f0d5eddd8..79d77f247f 100644 --- a/awx/main/tests/unit/models/test_inventory.py +++ b/awx/main/tests/unit/models/test_inventory.py @@ -64,6 +64,12 @@ def test_invalid_clean_insights_credential(): assert json.dumps(str(e.value)) == json.dumps(str([u"Credential kind must be 'insights'."])) +def test_valid_kind_clean_insights_credential(): + inv = Inventory(kind='smart') + + inv.clean_insights_credential() + + def test_invalid_kind_clean_insights_credential(): cred_type = CredentialType.defaults['insights']() insights_cred = Credential(credential_type=cred_type)