638de22b35
These tests are doing string matches on the error condition. Update them to match the new strings. This is probably okay to push out to old releases even though it's technically backwards incompatible because production playbooks won't be checking that a parameter was missing. Param missing is something detected and fixed while writing the playbook.
104 lines
2.1 KiB
YAML
104 lines
2.1 KiB
YAML
- name: Install Python requirements
|
|
pip:
|
|
state: present
|
|
name: "{{ item }}"
|
|
with_items:
|
|
- docker>=2.1.0
|
|
|
|
- name: Check if already in swarm
|
|
shell: docker node ls 2>&1 | grep 'docker swarm init'
|
|
register: output
|
|
ignore_errors: yes
|
|
|
|
- name: Enable swarm mode
|
|
command: docker swarm init
|
|
when: output.rc == 0
|
|
notify: disable_swarm
|
|
|
|
- name: Parameter name should be required
|
|
docker_secret:
|
|
state: present
|
|
ignore_errors: yes
|
|
register: output
|
|
|
|
- name: assert failure when called with no name
|
|
assert:
|
|
that:
|
|
- 'output.failed'
|
|
- 'output.msg == "missing required arguments: name"'
|
|
|
|
- name: Test parameters
|
|
docker_secret:
|
|
name: foo
|
|
state: present
|
|
ignore_errors: yes
|
|
register: output
|
|
|
|
- name: assert failure when called with no data
|
|
assert:
|
|
that:
|
|
- 'output.failed'
|
|
- 'output.msg == "state is present but all of the following are missing: data"'
|
|
|
|
- name: Create secret
|
|
docker_secret:
|
|
name: db_password
|
|
data: opensesame!
|
|
state: present
|
|
register: output
|
|
|
|
- name: Create variable secret_id
|
|
set_fact:
|
|
secret_id: "{{ output.secret_id }}"
|
|
|
|
- name: Inspect secret
|
|
command: "docker secret inspect {{ secret_id }}"
|
|
register: inspect
|
|
|
|
- debug: var=inspect
|
|
|
|
- name: assert secret creation succeeded
|
|
assert:
|
|
that:
|
|
- "'db_password' in inspect.stdout"
|
|
- "'ansible_key' in inspect.stdout"
|
|
|
|
- name: Create secret again
|
|
docker_secret:
|
|
name: db_password
|
|
data: opensesame!
|
|
state: present
|
|
register: output
|
|
|
|
- name: assert create secret is idempotent
|
|
assert:
|
|
that:
|
|
- not output.changed
|
|
|
|
- name: Update secret
|
|
docker_secret:
|
|
name: db_password
|
|
data: newpassword!
|
|
state: present
|
|
register: output
|
|
|
|
- name: assert secret was updated
|
|
assert:
|
|
that:
|
|
- output.changed
|
|
- output.secret_id != secret_id
|
|
|
|
- name: Remove secret
|
|
docker_secret:
|
|
name: db_password
|
|
state: absent
|
|
|
|
- name: Check that secret is removed
|
|
command: "docker secret inspect {{ secret_id }}"
|
|
register: output
|
|
ignore_errors: yes
|
|
|
|
- name: assert secret was removed
|
|
assert:
|
|
that:
|
|
- output.failed
|