ansible-config: add simple tests (#34900)

* Revert "Fix ansible-config with python3 (#34673)"

This reverts commit 2a9daaa45b.

* ansible-config: add simple tests

* Fix ansible-config with python3

* ansible-test: don't quote "unusual" characters
This commit is contained in:
Pilou 2018-01-17 15:33:33 +01:00 committed by Adam Miller
parent 93acd7c651
commit 217ff4498c
5 changed files with 19 additions and 6 deletions

View file

@ -68,11 +68,11 @@ class ConfigCLI(CLI):
super(ConfigCLI, self).run()
if self.options.config_file:
self.config_file = to_bytes(unfrackpath(self.options.config_file, follow=False))
self.config_file = unfrackpath(self.options.config_file, follow=False)
self.config = ConfigManager(self.config_file)
else:
self.config = ConfigManager()
self.config_file = to_bytes(find_ini_config_file())
self.config_file = find_ini_config_file()
try:
if not os.path.exists(self.config_file):
raise AnsibleOptionsError("%s does not exist or is not accessible" % (self.config_file))

View file

@ -116,7 +116,7 @@ def get_config_type(cfile):
ftype = None
if cfile is not None:
ext = to_text(os.path.splitext(cfile)[-1])
ext = os.path.splitext(cfile)[-1]
if ext in ('.ini', '.cfg'):
ftype = 'ini'
elif ext in ('.yaml', '.yml'):

View file

@ -0,0 +1,2 @@
[defaults]
remote_user = admin

View file

@ -1,9 +1,17 @@
#!/usr/bin/env bash
set -eux
set -eux -o pipefail
ansible --version
ansible --help
ansible testhost -i ../../inventory -m ping "$@"
ansible testhost -i ../../inventory -m setup "$@"
ansible-config -c ./ansible-testé.cfg view | grep 'remote_user = admin'
ansible-config -c ./ansible-testé.cfg dump | grep 'DEFAULT_REMOTE_USER([^)]*) = admin\>'
ANSIBLE_REMOTE_USER=administrator ansible-config dump| grep 'DEFAULT_REMOTE_USER([^)]*) = administrator\>'
ansible-config list | grep 'DEFAULT_REMOTE_USER'
# 'view' command must fail when config file is missing
ansible-config -c ./ansible-non-existent.cfg view && exit 1 || echo 'Failure is expected'

View file

@ -18,13 +18,16 @@ class Git(object):
self.args = args
self.git = 'git'
def get_diff(self, args):
def get_diff(self, args, git_options=None):
"""
:type args: list[str]
:type options: list[str]
:rtype: list[str]
"""
cmd = ['diff'] + args
return self.run_git_split(cmd, '\n', str_errors='replace')
if git_options is None:
git_options = ['-c', 'core.quotePath=']
return self.run_git_split(git_options + cmd, '\n', str_errors='replace')
def get_diff_names(self, args):
"""