don't allow isolated instances in IG.policy_instance_list

see: https://github.com/ansible/tower/issues/2394
This commit is contained in:
Ryan Petrello
2018-07-11 09:29:46 -04:00
parent 92b44246a6
commit 387f7d3d67
2 changed files with 12 additions and 1 deletions

View File

@@ -133,6 +133,16 @@ def test_prevent_isolated_instance_added_to_non_isolated_instance_group(post, ad
assert u"Isolated instances may not be added or removed from instances groups via the API." == resp.data['error']
@pytest.mark.django_db
def test_prevent_isolated_instance_added_to_non_isolated_instance_group_via_policy_list(patch, admin, instance, instance_group, isolated_instance_group):
url = reverse("api:instance_group_detail", kwargs={'pk': instance_group.pk})
assert True is instance.is_isolated()
resp = patch(url, {'policy_instance_list': [instance.hostname]}, admin)
assert [u"Isolated instances may not be added or removed from instances groups via the API."] == resp.data['policy_instance_list']
assert instance_group.policy_instance_list == []
@pytest.mark.django_db
def test_prevent_isolated_instance_removal_from_isolated_instance_group(post, admin, instance, instance_group, isolated_instance_group):
url = reverse("api:instance_group_instance_list", kwargs={'pk': isolated_instance_group.pk})
@@ -140,4 +150,3 @@ def test_prevent_isolated_instance_removal_from_isolated_instance_group(post, ad
assert True is instance.is_isolated()
resp = post(url, {'disassociate': True, 'id': instance.id}, admin, expect=400)
assert u"Isolated instances may not be added or removed from instances groups via the API." == resp.data['error']