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() super(ConfigCLI, self).run()
if self.options.config_file: 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) self.config = ConfigManager(self.config_file)
else: else:
self.config = ConfigManager() self.config = ConfigManager()
self.config_file = to_bytes(find_ini_config_file()) self.config_file = find_ini_config_file()
try: try:
if not os.path.exists(self.config_file): if not os.path.exists(self.config_file):
raise AnsibleOptionsError("%s does not exist or is not accessible" % (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 ftype = None
if cfile is not 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'): if ext in ('.ini', '.cfg'):
ftype = 'ini' ftype = 'ini'
elif ext in ('.yaml', '.yml'): 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 #!/usr/bin/env bash
set -eux set -eux -o pipefail
ansible --version ansible --version
ansible --help ansible --help
ansible testhost -i ../../inventory -m ping "$@" ansible testhost -i ../../inventory -m ping "$@"
ansible testhost -i ../../inventory -m setup "$@" 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.args = args
self.git = 'git' self.git = 'git'
def get_diff(self, args): def get_diff(self, args, git_options=None):
""" """
:type args: list[str] :type args: list[str]
:type options: list[str]
:rtype: list[str] :rtype: list[str]
""" """
cmd = ['diff'] + args 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): def get_diff_names(self, args):
""" """