Handle complex quoting in extra args in pull cli (#50212)

* Handle complex quoting in extra args in pull cli

fixes #40729
This commit is contained in:
Brian Coca
2019-01-23 10:58:37 -05:00
committed by GitHub
parent 4049e33817
commit b6824669df
3 changed files with 33 additions and 18 deletions

View File

@@ -23,21 +23,34 @@ cd "${repo_dir}"
git commit -m "Initial commit."
)
function pass_tests {
# test for https://github.com/ansible/ansible/issues/13688
if ! grep MAGICKEYWORD "${temp_log}"; then
echo "Missing MAGICKEYWORD in output."
exit 1
fi
# test for https://github.com/ansible/ansible/issues/13681
if egrep '127\.0\.0\.1.*ok' "${temp_log}"; then
echo "Found host 127.0.0.1 in output. Only localhost should be present."
exit 1
fi
# make sure one host was run
if ! egrep 'localhost.*ok' "${temp_log}"; then
echo "Did not find host localhost in output."
exit 1
fi
}
ANSIBLE_CONFIG='' ansible-pull -d "${pull_dir}" -U "${repo_dir}" "$@" | tee "${temp_log}"
# test for https://github.com/ansible/ansible/issues/13688
if ! grep MAGICKEYWORD "${temp_log}"; then
echo "Missing MAGICKEYWORD in output."
exit 1
fi
pass_tests
# test for https://github.com/ansible/ansible/issues/13681
if egrep '127\.0\.0\.1.*ok' "${temp_log}"; then
echo "Found host 127.0.0.1 in output. Only localhost should be present."
exit 1
fi
# make sure one host was run
if ! egrep 'localhost.*ok' "${temp_log}"; then
echo "Did not find host localhost in output."
exit 1
fi
# ensure complex extra vars work
PASSWORD='test'
USER=${USER:-'broken_docker'}
JSON_EXTRA_ARGS='{"docker_registries_login": [{ "docker_password": "'"${PASSWORD}"'", "docker_username": "'"${USER}"'", "docker_registry_url":"repository-manager.company.com:5001"}], "docker_registries_logout": [{ "docker_password": "'"${PASSWORD}"'", "docker_username": "'"${USER}"'", "docker_registry_url":"repository-manager.company.com:5001"}] }'
ANSIBLE_CONFIG='' ansible-pull -d "${pull_dir}" -U "${repo_dir}" -e "${JSON_EXTRA_ARGS}" "$@" | tee "${temp_log}"
pass_tests