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:
parent
93acd7c651
commit
217ff4498c
5 changed files with 19 additions and 6 deletions
|
@ -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))
|
||||||
|
|
|
@ -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'):
|
||||||
|
|
2
test/integration/targets/ansible/ansible-testé.cfg
Normal file
2
test/integration/targets/ansible/ansible-testé.cfg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[defaults]
|
||||||
|
remote_user = admin
|
|
@ -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'
|
||||||
|
|
|
@ -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):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in a new issue