Add tests for inventory plugin (#16)

This commit is contained in:
Fabian von Feilitzsch
2020-08-26 15:01:10 -04:00
committed by GitHub
parent 9a4af00302
commit 1b08450b19
3 changed files with 58 additions and 14 deletions

View File

@@ -26,32 +26,35 @@
apiVersion: v1
kind: DeploymentConfig
metadata:
name: elastic
name: hello-world
labels:
app: galaxy
service: elastic
service: hello-world
namespace: testing
spec:
template:
metadata:
labels:
app: galaxy
service: elastic
service: hello-world
spec:
containers:
- name: elastic
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: elastic-volume
command: ['elasticsearch']
image: 'ansible/galaxy-elasticsearch:2.4.6'
volumes:
- name: elastic-volume
persistentVolumeClaim:
claimName: elastic-volume
- name: hello-world
image: python
command:
- python
- '-m'
- http.server
env:
- name: TEST
value: test
replicas: 1
strategy:
type: Rolling
type: Recreate
wait: yes
wait_condition:
type: Available
status: True
register: output
- name: Show output

View File

@@ -9,10 +9,15 @@ platforms:
- k8s
provisioner:
name: ansible
config_options:
inventory:
enable_plugins: community.okd.openshift
lint: |
set -e
ansible-lint
inventory:
hosts:
plugin: community.okd.openshift
host_vars:
localhost:
virtualenv: ${MOLECULE_EPHEMERAL_DIRECTORY}/virtualenv

View File

@@ -1,4 +1,40 @@
---
- name: Verify inventory and connection plugins
# This group is created by the openshift_inventory plugin
# It is automatically configured to use the `oc` connection plugin
hosts: namespace_testing_pods
gather_facts: no
vars:
file_content: |
Hello world
tasks:
- name: End play if host not running (TODO should we not add these to the inventory?)
meta: end_host
when: pod_phase != "Running"
- setup:
- debug: var=ansible_facts
- name: Assert the TEST environment variable was retrieved
assert:
that: ansible_facts.env.TEST == 'test'
- name: Copy a file into the host
copy:
content: '{{ file_content }}'
dest: /tmp/test_file
- name: Retrieve the file from the host
slurp:
src: /tmp/test_file
register: slurped_file
- name: Assert the file content matches expectations
assert:
that: (slurped_file.content|b64decode) == file_content
- name: Verify
hosts: localhost
connection: local