Skip to content

Commit

Permalink
cycloid-toolkit/ansible-runner: fix tests for new azure_rm inventory …
Browse files Browse the repository at this point in the history
…plugin
  • Loading branch information
sdurrheimer committed Nov 21, 2019
1 parent 3b61aab commit ef4005e
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 6 deletions.
7 changes: 4 additions & 3 deletions test_all_docker_images.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ set -e
# source .env/bin/activate
# pip install unittest2 docker

export DOCKER_REPO="${DOCKER_REPO:-cycloid/cycloid-toolkit}"
export DOCKER_TAG="${DOCKER_TAG:-develop}"


Expand All @@ -24,8 +25,8 @@ for line in $(cat .versions); do
tag=$DOCKER_TAG
fi

export IMAGE_NAME="cycloid/cycloid-toolkit:${tag}"
echo "######################## $IMAGE_NAME"
python tests.py
export IMAGE_NAME="${DOCKER_REPO}:${tag}"
echo "######## IMAGE_NAME=${IMAGE_NAME} PYTHON_VERSION=${python_version} ANSIBLE_VERSION=${ansible_version%.*}"
python tests.py -vvvv
done
unset IFS
22 changes: 19 additions & 3 deletions tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,11 @@ def setUp(self):
volumes={osjoin(os.getcwd(), '%s/ansible-runner' % self.testsdir): {'bind': '/opt', 'mode': 'rw'}},
environment=environment,
)
r = self.drun(cmd="python -c \"import sys; print('%s.%s' % (sys.version_info.major, sys.version_info.minor))\"")
self.python_version = r.output.decode('utf-8').rstrip()

r = self.drun(cmd="python -c \"from ansible.cli import CLI; print('%d.%d' % (CLI.version_info().get('major'), CLI.version_info().get('minor')))\"")
self.ansible_version = r.output.decode('utf-8').rstrip()

def test_ansible_galaxy(self):
# Run ansible galaxy
Expand Down Expand Up @@ -400,22 +405,29 @@ def test_azure_hosts_inventory(self):
# Azure dynamic inventory should not be used as AZURE_INVENTORY defaults to auto and AZURE_SUBSCRIPTION_ID is not present
r = self.drun(cmd="/usr/bin/ansible-runner")
self.assertFalse(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/azure_rm.py'))
self.assertFalse(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/default.azure_rm.yml'))
self.assertEquals(r.exit_code, 0)

# Azure dynamic inventory should be used as AZURE_INVENTORY defaults to auto and AZURE_SUBSCRIPTION_ID is present
environment={
'AZURE_SUBSCRIPTION_ID': 'foo',
}
r = self.drun(cmd="/usr/bin/ansible-runner", environment=environment)
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/azure_rm.py'))
if float(self.ansible_version) >= 2.7:
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/default.azure_rm.yml'))
else:
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/azure_rm.py'))
self.assertEquals(r.exit_code, 0)

# Azure dynamic inventory should be used as AZURE_INVENTORY=true even if AZURE_SUBSCRIPTION_ID is not present
environment={
'AZURE_INVENTORY': 'true',
}
r = self.drun(cmd="/usr/bin/ansible-runner", environment=environment)
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/azure_rm.py'))
if float(self.ansible_version) >= 2.7:
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/default.azure_rm.yml'))
else:
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/azure_rm.py'))
self.assertEquals(r.exit_code, 0)

# Azure dynamic inventory should not be used as AZURE_INVENTORY=false even if AZURE_SUBSCRIPTION_ID is present
Expand All @@ -425,6 +437,7 @@ def test_azure_hosts_inventory(self):
}
r = self.drun(cmd="/usr/bin/ansible-runner", environment=environment)
self.assertFalse(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/azure_rm.py'))
self.assertFalse(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/default.azure_rm.yml'))
self.assertEquals(r.exit_code, 0)

def test_ec2_and_azure_hosts_inventory(self):
Expand All @@ -435,7 +448,10 @@ def test_ec2_and_azure_hosts_inventory(self):
'AWS_ACCESS_KEY_ID': 'bar',
}
r = self.drun(cmd="/usr/bin/ansible-runner", environment=environment)
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/ec2.py.*-i /etc/ansible/hosts/azure_rm.py'))
if float(self.ansible_version) >= 2.7:
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/ec2.py.*-i /etc/ansible/hosts/default.azure_rm.yml'))
else:
self.assertTrue(self.output_contains(r.output, '.*ansible-playbook.*-i /etc/ansible/hosts/ec2.py.*-i /etc/ansible/hosts/azure_rm.py'))
self.assertEquals(r.exit_code, 0)

if __name__ == '__main__':
Expand Down

0 comments on commit ef4005e

Please sign in to comment.