mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 21:32:49 +00:00
Migrate Linux CI roles to test targets. (#17997)
This commit is contained in:
1
test/integration/targets/binary/files/b64_latin1
Normal file
1
test/integration/targets/binary/files/b64_latin1
Normal file
@@ -0,0 +1 @@
|
||||
Café Eñe
|
||||
1
test/integration/targets/binary/files/b64_utf8
Normal file
1
test/integration/targets/binary/files/b64_utf8
Normal file
@@ -0,0 +1 @@
|
||||
Café Eñe
|
||||
1
test/integration/targets/binary/files/from_playbook
Normal file
1
test/integration/targets/binary/files/from_playbook
Normal file
@@ -0,0 +1 @@
|
||||
Café Eñe
|
||||
3
test/integration/targets/binary/meta/main.yml
Normal file
3
test/integration/targets/binary/meta/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- prepare_tests
|
||||
|
||||
131
test/integration/targets/binary/tasks/main.yml
Normal file
131
test/integration/targets/binary/tasks/main.yml
Normal file
@@ -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: "{{ 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 copying utf-8 content 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 utf8 in a base64 string 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 latin1 in a base64 string matches
|
||||
stat:
|
||||
path: "{{ output_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: "{{ output_dir }}/from_playbook_template.txt"
|
||||
|
||||
- name: Check that writing a template from a playbook var 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 writing a template from a base64 encoded utf8 string 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 writing a template from a base64 encoded latin1 string matches
|
||||
stat:
|
||||
path: "{{ output_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}}"
|
||||
@@ -0,0 +1 @@
|
||||
{{ latin1_simple_accents|b64decode }}
|
||||
@@ -0,0 +1 @@
|
||||
{{ utf8_simple_accents|b64decode }}
|
||||
@@ -0,0 +1 @@
|
||||
{{ simple_accents }}
|
||||
3
test/integration/targets/binary/vars/main.yml
Normal file
3
test/integration/targets/binary/vars/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
simple_accents: 'Café Eñe'
|
||||
utf8_simple_accents: 'Q2Fmw6kgRcOxZQ=='
|
||||
latin1_simple_accents: 'Q2Fm6SBF8WU='
|
||||
Reference in New Issue
Block a user