mirror of
https://github.com/ansible/awx.git
synced 2026-03-07 19:51:08 -03:30
Added API validation of instance filter names. Fixes https://trello.com/c/VH9Vnd8z
This commit is contained in:
@@ -1272,6 +1272,10 @@ class InventoryUpdatesTest(BaseTransactionTest):
|
||||
self.assertEqual(response['group_by'], '')
|
||||
# Invalid string for instance filters.
|
||||
inv_src_data['instance_filters'] = 'tag-key_123=Name,'
|
||||
with self.current_user(self.super_django_user):
|
||||
response = self.put(inv_src_url1, inv_src_data, expect=400)
|
||||
# Invalid field name for instance filters.
|
||||
inv_src_data['instance_filters'] = 'foo=bar,'
|
||||
with self.current_user(self.super_django_user):
|
||||
response = self.put(inv_src_url1, inv_src_data, expect=400)
|
||||
# Valid string for instance filters.
|
||||
@@ -1514,11 +1518,13 @@ class InventoryUpdatesTest(BaseTransactionTest):
|
||||
for host in self.inventory.hosts.filter(active=True):
|
||||
self.assertEqual(host.variables_dict['ec2_instance_type'], instance_type)
|
||||
|
||||
# Try invalid instance filters: empty, only "=", more than one "=", whitespace
|
||||
# Try invalid instance filters that should be ignored:
|
||||
# empty filter, only "=", more than one "=", whitespace, invalid value
|
||||
# for given filter name.
|
||||
cache_path = tempfile.mkdtemp(prefix='awx_ec2_')
|
||||
self._temp_paths.append(cache_path)
|
||||
key_name = max(key_names.items(), key=lambda x: len(x[1]))[0]
|
||||
inventory_source.instance_filters = ',=,image-id=ami=12345678,instance-type=%s, key-name=%s' % (instance_type, key_name)
|
||||
inventory_source.instance_filters = ',=,image-id=ami=12345678,instance-type=%s, key-name=%s, architecture=ppc' % (instance_type, key_name)
|
||||
inventory_source.source_vars = '---\n\nnested_groups: false\ncache_path: %s\n' % cache_path
|
||||
inventory_source.save()
|
||||
self.check_inventory_source(inventory_source, initial=False)
|
||||
|
||||
Reference in New Issue
Block a user