ansible/test/integration/roles/test_binary/tasks/main.yml
Toshio Kuratomi 65be0eefcf Enable all the binary tests inside of the role.
They're not being run by default so make sure they're ready to show
errors when we turn them on for v2
2014-12-10 11:40:33 -08:00

121 lines
3 KiB
YAML

---
# Various ways users want to use binary data
# Could integrate into individual modules but currently these don't all work.
# Probably easier to see them all in a single block to know what we're testing.
# When we can start testing v2 we should test that all of these work.
# Expected values of the written files
- name: get checksums that we expect later files to have
copy:
src: from_playbook
dest: "{{ output_dir }}"
- copy:
src: b64_utf8
dest: "{{ output_dir }}"
- copy:
src: b64_latin1
dest: "{{ output_dir }}"
- stat:
path: "{{ output_dir }}/from_playbook"
register: from_playbook
- stat:
path: "{{ output_dir }}/b64_utf8"
register: b64_utf8
- stat:
path: "{{ output_dir }}/b64_latin1"
register: b64_latin1
# Tests themselves
- name: copy with utf-8 content in a playbook
copy:
content: "{{ simple_accents }}\n"
dest: "{{ output_dir }}/from_playbook.txt"
- name: Check that what was written matches
stat:
path: "{{ output_dir }}/from_playbook.txt"
register: results
- assert:
that:
- 'results.stat.checksum == from_playbook.stat.checksum'
- name: copy with utf8 in a base64 encoded string
copy:
content: "{{ utf8_simple_accents|b64decode }}\n"
dest: "{{ output_dir }}/b64_utf8.txt"
- name: Check that what was written matches
stat:
path: "{{ output_dir }}/b64_utf8.txt"
register: results
- assert:
that:
- 'results.stat.checksum == b64_utf8.stat.checksum'
- name: copy with latin1 in a base64 encoded string
copy:
content: "{{ latin1_simple_accents|b64decode }}\n"
dest: "{{ output_dir }}/b64_latin1.txt"
- name: Check that what was written matches
stat:
path: "{{ output_dir }}/b64_latin1.txt"
register: results
- assert:
that:
- 'results.stat.checksum == b64_latin1.stat.checksum'
- name: Template with a unicode string from the playbook
template:
src: "from_playbook_template.j2"
dest: "{{ output_dir }}/from_playbook_template.txt"
- name: Check that what was written matches
stat:
path: "{{ output_dir }}/from_playbook_template.txt"
register: results
- assert:
that:
- 'results.stat.checksum == from_playbook.stat.checksum'
- name: Template with utf8 in a base64 encoded string
template:
src: "b64_utf8_template.j2"
dest: "{{ output_dir }}/b64_utf8_template.txt"
- name: Check that what was written matches
stat:
path: "{{ output_dir }}/b64_utf8_template.txt"
register: results
- assert:
that:
- 'results.stat.checksum == b64_utf8.stat.checksum'
- name: Template with latin1 in a base64 encoded string
template:
src: "b64_latin1_template.j2"
dest: "{{ output_dir }}/b64_latin1_template.txt"
- name: Check that what was written matches
stat:
path: "{{ output_dir }}/b64_latin1_template.txt"
register: results
- assert:
that:
- 'results.stat.checksum == b64_latin1.stat.checksum'
# These might give garbled output but none of them should traceback
- debug: var=simple_accents
- debug: msg={{ utf8_simple_accents|b64decode}}
- debug: msg={{ latin1_simple_accents|b64decode}}