From d24bdbcefda7172f419b9d4c07636d99d15baec0 Mon Sep 17 00:00:00 2001 From: Rafael Guterres Jeffman <rjeffman@redhat.com> Date: Mon, 17 Aug 2020 20:41:30 -0300 Subject: [PATCH] Add support for running pytest tests with ssh password. Currently, running pytest requires that ssh uses key exchange. These change allows the use of ssh with password to connect to the host. --- tests/README.md | 10 ++++++++-- tests/test_playbook_runs.py | 8 ++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/tests/README.md b/tests/README.md index ad764fd9..9d51a42a 100644 --- a/tests/README.md +++ b/tests/README.md @@ -29,6 +29,14 @@ environment variable. For example: ANSIBLE_REMOTE_USER=root IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest ``` +If you want to use ssh with password, you must set `IPA_SSH_PASSWORD` +environment variable. For example: + +``` +IPA_SSH_PASSWORD=<ipaserver_ssh_password> IPA_SERVER_HOST=<ipaserver_host_or_ip> pytest +``` + + To run a single test use the full path with the following format: ``` @@ -99,5 +107,3 @@ See [Running the tests](#running-the-tests) section for more information on avai * A script to pre-config the complete test environment using virsh. * A test matrix to run tests against different distros in parallel (probably using tox). -* Allow to connect to `ipaserver` using ssh and password. - diff --git a/tests/test_playbook_runs.py b/tests/test_playbook_runs.py index 86e77be4..41ddbf1a 100644 --- a/tests/test_playbook_runs.py +++ b/tests/test_playbook_runs.py @@ -19,6 +19,10 @@ def is_docker_env(): return True +def get_ssh_password(): + return os.getenv("IPA_SSH_PASSWORD") + + def get_server_host(): return os.getenv("IPA_SERVER_HOST") @@ -33,6 +37,10 @@ def get_inventory_content(): if is_docker_env(): ipa_server_host += " ansible_connection=docker" + sshpass = get_ssh_password() + if sshpass: + ipa_server_host += " ansible_ssh_pass=%s" % sshpass + lines = [ "[ipaserver]", ipa_server_host, -- GitLab