diff --git a/test/integration/targets/slurp/aliases b/test/integration/targets/slurp/aliases new file mode 100644 index 0000000000..4485d76162 --- /dev/null +++ b/test/integration/targets/slurp/aliases @@ -0,0 +1 @@ +posix/ci/group1 diff --git a/test/integration/targets/slurp/files/bar.bin b/test/integration/targets/slurp/files/bar.bin new file mode 100644 index 0000000000..38d4d8a4f2 Binary files /dev/null and b/test/integration/targets/slurp/files/bar.bin differ diff --git a/test/integration/targets/slurp/tasks/main.yml b/test/integration/targets/slurp/tasks/main.yml new file mode 100644 index 0000000000..5dfb3c239c --- /dev/null +++ b/test/integration/targets/slurp/tasks/main.yml @@ -0,0 +1,98 @@ +# test code for the slurp module. Based on win_slurp test cases +# (c) 2014, Chris Church + +# This file is part of Ansible +# +# Ansible is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Ansible is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Ansible. If not, see . + +- name: Create a UTF-8 file to test with + copy: + content: 'We are at the café' + dest: '{{ output_dir }}/foo.txt' + +- name: test slurping an existing file + slurp: + src: '{{ output_dir }}/foo.txt' + register: slurp_existing + +- name: check slurp existing result + assert: + that: + - 'slurp_existing.content' + - 'slurp_existing.encoding == "base64"' + - 'not slurp_existing|changed' + - 'not slurp_existing|failed' + - '"{{ slurp_existing.content | b64decode }}" == "We are at the café"' + +- name: Create a binary file to test with + copy: + src: bar.bin + dest: '{{ output_dir }}/bar.bin' + +- name: test slurping a binary file + slurp: + path: '{{ output_dir }}/bar.bin' + register: slurp_binary + no_log: true + +- name: check slurp result of binary + assert: + that: + - "slurp_binary.content" + - "slurp_binary.encoding == 'base64'" + - "not slurp_binary|changed" + - "not slurp_binary|failed" + +- name: test slurping a non-existent file + slurp: + src: '{{ output_dir }}/i_do_not_exist' + register: slurp_missing + ignore_errors: true + +- name: check slurp missing result + assert: + that: + - "slurp_missing|failed" + - "slurp_missing.msg" + - "not slurp_missing|changed" + +- name: Create a directory to test with + file: + path: '{{ output_dir }}/baz/' + state: directory + +- name: test slurping a directory + slurp: + src: '{{ output_dir }}/baz' + register: slurp_dir + ignore_errors: true + +- name: check slurp directory result + assert: + that: + - "slurp_dir|failed" + - "slurp_dir.msg" + - "not slurp_dir|changed" + +- name: test slurp with missing argument + action: slurp + register: slurp_no_args + ignore_errors: true + +- name: check slurp with missing argument result + assert: + that: + - "slurp_no_args|failed" + - "slurp_no_args.msg" + - "not slurp_no_args|changed"