New test that binary contenti.
(and a few unicode tests because they make clearer what we're testing) works. disabled for now since they mostly do not pass on 1.8. We'll want to enable them when we start integration testing the v2 tree.
This commit is contained in:
parent
2d266ce401
commit
37d1b3f1cf
10 changed files with 137 additions and 0 deletions
|
@ -39,4 +39,6 @@
|
|||
- { role: test_authorized_key, tags: test_authorized_key }
|
||||
- { role: test_get_url, tags: test_get_url }
|
||||
- { role: test_embedded_module, tags: test_embedded_module }
|
||||
# Turn on test_binary when we start testing v2
|
||||
#- { role: test_binary, tags: test_binary }
|
||||
|
||||
|
|
1
test/integration/roles/test_binary/files/b64_latin1
Normal file
1
test/integration/roles/test_binary/files/b64_latin1
Normal file
|
@ -0,0 +1 @@
|
|||
Café Eñe
|
1
test/integration/roles/test_binary/files/b64_utf8
Normal file
1
test/integration/roles/test_binary/files/b64_utf8
Normal file
|
@ -0,0 +1 @@
|
|||
Café Eñe
|
1
test/integration/roles/test_binary/files/from_playbook
Normal file
1
test/integration/roles/test_binary/files/from_playbook
Normal file
|
@ -0,0 +1 @@
|
|||
Café Eñe
|
3
test/integration/roles/test_binary/meta/main.yml
Normal file
3
test/integration/roles/test_binary/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
dependencies:
|
||||
- prepare_tests
|
||||
|
123
test/integration/roles/test_binary/tasks/main.yml
Normal file
123
test/integration/roles/test_binary/tasks/main.yml
Normal file
|
@ -0,0 +1,123 @@
|
|||
---
|
||||
# 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
|
||||
|
||||
- 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'
|
||||
ignore_errors: True
|
||||
|
||||
- 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'
|
||||
ignore_errors: True
|
||||
|
||||
#- 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'
|
||||
# ignore_errors: True
|
||||
|
||||
- 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}}
|
|
@ -0,0 +1 @@
|
|||
{{ latin1_simple_accents|b64decode }}
|
|
@ -0,0 +1 @@
|
|||
{{ utf8_simple_accents|b64decode }}
|
|
@ -0,0 +1 @@
|
|||
{{ simple_accents }}
|
3
test/integration/roles/test_binary/vars/main.yml
Normal file
3
test/integration/roles/test_binary/vars/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
simple_accents: 'Café Eñe'
|
||||
utf8_simple_accents: 'Q2Fmw6kgRcOxZQ=='
|
||||
latin1_simple_accents: 'Q2Fm6SBF8WU='
|
Loading…
Reference in a new issue