ansible/test/integration/targets/wait_for/tasks/main.yml
Matt Martz 4fe08441be Deprecate tests used as filters (#32361)
* Warn on tests used as filters

* Update docs, add aliases for tests that fit more gramatically with test syntax

* Fix rst formatting

* Add successful filter, alias of success

* Remove renamed_deprecation, it was overkill

* Make directory alias for is_dir

* Update tests to use proper jinja test syntax

* Update additional documentation, living outside of YAML files, to reflect proper jinja test syntax

* Add conversion script, porting guide updates, and changelog updates

* Update newly added uses of tests as filters

* No underscore variable

* Convert recent tests as filter changes to win_stat

* Fix some changes related to rebasing a few integration tests

* Make tests_as_filters_warning explicitly accept the name of the test, instead of inferring the name

* Add test for tests_as_filters_warning

* Update tests as filters in newly added/modified tests

* Address recent changes to several integration tests

* Address recent changes in cs_vpc
2017-11-27 17:58:08 -05:00

133 lines
3.1 KiB
YAML

---
- name: setup create a directory to serve files from
file:
dest: "{{ files_dir }}"
state: directory
- name: setup webserver
copy:
src: "testserver.py"
dest: "{{ output_dir }}/testserver.py"
- name: setup a path
file:
path: /tmp/wait_for_file
state: touch
- name: setup remove a file after 10s
shell: sleep 10 && rm /tmp/wait_for_file
async: 20
poll: 0
- name: test for absent path
wait_for:
path: /tmp/wait_for_file
state: absent
timeout: 20
register: waitfor
- name: verify test for absent path
assert:
that:
- waitfor is successful
- "waitfor.path == '/tmp/wait_for_file'"
- waitfor.elapsed >= 5
- waitfor.elapsed <= 15
- name: setup create a file after 10s
shell: sleep 10 && touch /tmp/wait_for_file
async: 20
poll: 0
- name: test for present path
wait_for:
path: /tmp/wait_for_file
timeout: 20
register: waitfor
- name: verify test for absent path
assert:
that:
- waitfor is successful
- "waitfor.path == '/tmp/wait_for_file'"
- waitfor.elapsed >= 5
- waitfor.elapsed <= 15
- name: setup write keyword to file after 10s
shell: rm -f /tmp/wait_for_keyword && sleep 10 && echo completed > /tmp/wait_for_keyword
async: 20
poll: 0
- name: test wait for keyword in file
wait_for:
path: /tmp/wait_for_keyword
search_regex: completed
timeout: 20
register: waitfor
- name: verify test wait for port timeout
assert:
that:
- waitfor is successful
- "waitfor.search_regex == 'completed'"
- waitfor.elapsed >= 5
- waitfor.elapsed <= 15
- name: test wait for port timeout
wait_for:
port: 12121
timeout: 3
register: waitfor
ignore_errors: true
- name: verify test wait for port timeout
assert:
that:
- waitfor is failed
- waitfor.elapsed == 3
- "waitfor.msg == 'Timeout when waiting for 127.0.0.1:12121'"
- name: test fail with custom msg
wait_for:
port: 12121
msg: fail with custom message
timeout: 3
register: waitfor
ignore_errors: true
- name: verify test fail with custom msg
assert:
that:
- waitfor is failed
- waitfor.elapsed == 3
- "waitfor.msg == 'fail with custom message'"
- name: setup start SimpleHTTPServer
shell: sleep 10 && cd {{ files_dir }} && {{ ansible_python.executable }} {{ output_dir}}/testserver.py {{ http_port }}
async: 120 # this test set can take ~1m to run on FreeBSD (via Shippable)
poll: 0
- name: test wait for port with sleep
wait_for:
port: "{{ http_port }}"
sleep: 3
register: waitfor
- name: verify test wait for port sleep
assert:
that:
- waitfor is successful
- waitfor is not changed
- "waitfor.port == {{ http_port }}"
- name: install psutil using pip (non-Linux only)
pip:
name: psutil
when: ansible_system != 'Linux'
- name: test wait for port drained
wait_for:
port: "{{ http_port }}"
state: drained
register: waitfor
- name: verify test wait for port
assert:
that:
- waitfor is successful
- waitfor is not changed
- "waitfor.port == {{ http_port }}"