summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/binary/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/binary/tasks/main.yml')
-rw-r--r--test/integration/targets/binary/tasks/main.yml131
1 files changed, 131 insertions, 0 deletions
diff --git a/test/integration/targets/binary/tasks/main.yml b/test/integration/targets/binary/tasks/main.yml
new file mode 100644
index 0000000..2d417b5
--- /dev/null
+++ b/test/integration/targets/binary/tasks/main.yml
@@ -0,0 +1,131 @@
+---
+# 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.
+
+# In v1: The following line will traceback if it's the first task in the role.
+# Does not traceback if it's the second or third etc task.
+- debug: msg="{{ utf8_simple_accents|b64decode}}"
+
+# Expected values of the written files
+- name: get checksums that we expect later files to have
+ copy:
+ src: from_playbook
+ dest: "{{ remote_tmp_dir }}"
+
+- copy:
+ src: b64_utf8
+ dest: "{{ remote_tmp_dir }}"
+
+- copy:
+ src: b64_latin1
+ dest: "{{ remote_tmp_dir }}"
+
+- stat:
+ path: "{{ remote_tmp_dir }}/from_playbook"
+ register: from_playbook
+
+- stat:
+ path: "{{ remote_tmp_dir }}/b64_utf8"
+ register: b64_utf8
+
+- stat:
+ path: "{{ remote_tmp_dir }}/b64_latin1"
+ register: b64_latin1
+
+# Tests themselves
+- name: copy with utf-8 content in a playbook
+ copy:
+ content: "{{ simple_accents }}\n"
+ dest: "{{ remote_tmp_dir }}/from_playbook.txt"
+
+- name: Check that copying utf-8 content matches
+ stat:
+ path: "{{ remote_tmp_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: "{{ remote_tmp_dir }}/b64_utf8.txt"
+
+- name: Check that utf8 in a base64 string matches
+ stat:
+ path: "{{ remote_tmp_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: "{{ remote_tmp_dir }}/b64_latin1.txt"
+
+- name: Check that latin1 in a base64 string matches
+ stat:
+ path: "{{ remote_tmp_dir }}/b64_latin1.txt"
+ register: results
+
+- assert:
+ that:
+ - 'results.stat.checksum == b64_latin1.stat.checksum'
+ # This one depends on being able to pass binary data through
+ # Might be a while before we find a solution for this
+ ignore_errors: True
+
+- name: Template with a unicode string from the playbook
+ template:
+ src: "from_playbook_template.j2"
+ dest: "{{ remote_tmp_dir }}/from_playbook_template.txt"
+
+- name: Check that writing a template from a playbook var matches
+ stat:
+ path: "{{ remote_tmp_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: "{{ remote_tmp_dir }}/b64_utf8_template.txt"
+
+- name: Check that writing a template from a base64 encoded utf8 string matches
+ stat:
+ path: "{{ remote_tmp_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: "{{ remote_tmp_dir }}/b64_latin1_template.txt"
+
+- name: Check that writing a template from a base64 encoded latin1 string matches
+ stat:
+ path: "{{ remote_tmp_dir }}/b64_latin1_template.txt"
+ register: results
+
+- assert:
+ that:
+ - 'results.stat.checksum == b64_latin1.stat.checksum'
+ # This one depends on being able to pass binary data through
+ # Might be a while before we find a solution for this
+ ignore_errors: True
+
+# 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}}"