mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
0ff27c3b44
* Prevent yaml callback from modifying PyYAML.
* Fix changelog fragment.
* Update changelogs/fragments/3478-yaml-callback.yml
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
Co-authored-by: Brian Scholer <1260690+briantist@users.noreply.github.com>
(cherry picked from commit 5895e50185
)
Co-authored-by: Felix Fontein <felix@fontein.de>
97 lines
3.6 KiB
YAML
97 lines
3.6 KiB
YAML
---
|
|
####################################################################
|
|
# WARNING: These are designed specifically for Ansible tests #
|
|
# and should not be used as examples of how to write Ansible roles #
|
|
####################################################################
|
|
|
|
- name: Run tests
|
|
include_role:
|
|
name: callback
|
|
vars:
|
|
tests:
|
|
- name: Basic run
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.yaml
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Sample task name
|
|
debug:
|
|
msg: sample debug msg
|
|
expected_output: [
|
|
"",
|
|
"PLAY [testhost] ****************************************************************",
|
|
"",
|
|
"TASK [Sample task name] ********************************************************",
|
|
"ok: [testhost] => ",
|
|
" msg: sample debug msg",
|
|
"",
|
|
"PLAY RECAP *********************************************************************",
|
|
"testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
]
|
|
- name: Test umlauts in multiline
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.yaml
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
tasks:
|
|
- name: Umlaut output
|
|
debug:
|
|
msg: "äöü\néêè\nßï☺"
|
|
expected_output: [
|
|
"",
|
|
"PLAY [testhost] ****************************************************************",
|
|
"",
|
|
"TASK [Umlaut output] ***********************************************************",
|
|
"ok: [testhost] => ",
|
|
" msg: |-",
|
|
" äöü",
|
|
" éêè",
|
|
" ßï☺",
|
|
"",
|
|
"PLAY RECAP *********************************************************************",
|
|
"testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
]
|
|
- name: Test to_yaml
|
|
environment:
|
|
ANSIBLE_NOCOLOR: 'true'
|
|
ANSIBLE_FORCE_COLOR: 'false'
|
|
ANSIBLE_STDOUT_CALLBACK: community.general.yaml
|
|
playbook: |
|
|
- hosts: testhost
|
|
gather_facts: false
|
|
vars:
|
|
data: |
|
|
line 1
|
|
line 2
|
|
line 3
|
|
tasks:
|
|
- name: Test to_yaml
|
|
debug:
|
|
msg: "{{ '{{' }}'{{ '{{' }}'{{ '}}' }} data | to_yaml {{ '{{' }}'{{ '}}' }}'{{ '}}' }}"
|
|
# The above should be: msg: "{{ data | to_yaml }}"
|
|
# Unfortunately, the way Ansible handles templating, we need to do some funny 'escaping' tricks...
|
|
expected_output: [
|
|
"",
|
|
"PLAY [testhost] ****************************************************************",
|
|
"",
|
|
"TASK [Test to_yaml] ************************************************************",
|
|
"ok: [testhost] => ",
|
|
" msg: |-",
|
|
" 'line 1",
|
|
" ",
|
|
" line 2",
|
|
" ",
|
|
" line 3",
|
|
" ",
|
|
" '",
|
|
"",
|
|
"PLAY RECAP *********************************************************************",
|
|
"testhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 "
|
|
]
|