mirror of
https://github.com/ZwareBear/awx.git
synced 2026-04-23 00:11:48 -05:00
Port inventory source injector tests to functional tests
This new batch of tests assures that the injector logic for inventory source in their old script version remains untouched with the refactoring underway. Plugins are also tested by the same means of comparing to reference files, these will be used to assure that all parameters that used to be respected are still respected in the plugin system.
This commit is contained in:
@@ -2285,15 +2285,18 @@ class RunInventoryUpdate(BaseTask):
|
||||
if src in InventorySource.injectors:
|
||||
cloud_cred = inventory_update.get_cloud_credential()
|
||||
injector = InventorySource.injectors[cloud_cred.kind](self.get_ansible_version(inventory_update))
|
||||
content = injector.inventory_contents(inventory_update)
|
||||
# must be a statically named file
|
||||
inventory_path = os.path.join(private_data_dir, injector.filename)
|
||||
with open(inventory_path, 'w') as f:
|
||||
f.write(content)
|
||||
os.chmod(inventory_path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
|
||||
if injector.should_use_plugin():
|
||||
content = injector.inventory_contents(inventory_update)
|
||||
# must be a statically named file
|
||||
inventory_path = os.path.join(private_data_dir, injector.filename)
|
||||
with open(inventory_path, 'w') as f:
|
||||
f.write(content)
|
||||
os.chmod(inventory_path, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR)
|
||||
else:
|
||||
# Use the vendored script path
|
||||
inventory_path = self.get_path_to('..', 'plugins', 'inventory', '%s.py' % src)
|
||||
else:
|
||||
# Get the path to the inventory plugin, and append it to our
|
||||
# arguments.
|
||||
# TODO: get rid of this else after all CLOUD_PROVIDERS have injectors written
|
||||
inventory_path = self.get_path_to('..', 'plugins', 'inventory', '%s.py' % src)
|
||||
elif src == 'scm':
|
||||
inventory_path = inventory_update.get_actual_source_path()
|
||||
|
||||
Reference in New Issue
Block a user