Skip to content

Commit

Permalink
Add tests for inventory plugin (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
fabianvf authored Aug 26, 2020
1 parent 9a4af00 commit 1b08450
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 14 deletions.
31 changes: 17 additions & 14 deletions molecule/default/converge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
5 changes: 5 additions & 0 deletions molecule/default/molecule.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
36 changes: 36 additions & 0 deletions molecule/default/verify.yml
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit 1b08450

Please sign in to comment.