Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests for inventory plugin #16

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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