# Test code for the unarchive module. # (c) 2014, Richard Isaacson # 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: prep our file copy: src=foo.txt dest={{output_dir}}/foo-unarchive.txt - name: prep a tar file shell: tar cvf test-unarchive.tar foo-unarchive.txt chdir={{output_dir}} - name: prep a tar.gz file shell: tar cvf test-unarchive.tar.gz foo-unarchive.txt chdir={{output_dir}} - name: prep a zip file shell: tar cvf test-unarchive.zip foo-unarchive.txt chdir={{output_dir}} - name: create our tar unarchive destination file: path={{output_dir}}/test-unarchive-tar state=directory - name: unarchive a tar file unarchive: src={{output_dir}}/test-unarchive.tar dest="{{output_dir | expanduser}}/test-unarchive-tar" copy=no register: unarchive01 - name: verify that the file was marked as changed assert: { that: "unarchive01.changed == true" } - name: verify that the file was unarchived file: path={{output_dir}}/test-unarchive-tar/foo-unarchive.txt state=file - name: remove our tar unarchive destination file: path={{output_dir}}/test-unarchive-tar state=absent - name: create our tar.gz unarchive destination file: path={{output_dir}}/test-unarchive-tar-gz state=directory - name: unarchive a tar.gz file unarchive: src={{output_dir}}/test-unarchive.tar.gz dest={{output_dir | expanduser}}/test-unarchive-tar-gz copy=no register: unarchive02 - name: verify that the file was marked as changed assert: { that: "unarchive02.changed == true" } - name: verify that the file was unarchived file: path={{output_dir}}/test-unarchive-tar-gz/foo-unarchive.txt state=file - name: remove our tar.gz unarchive destination file: path={{output_dir}}/test-unarchive-tar-gz state=absent - name: create our zip unarchive destination file: path={{output_dir}}/test-unarchive-zip state=directory - name: unarchive a zip file unarchive: src={{output_dir}}/test-unarchive.zip dest={{output_dir | expanduser}}/test-unarchive-zip copy=no register: unarchive03 - name: verify that the file was marked as changed assert: { that: "unarchive03.changed == true" } - name: verify that the file was unarchived file: path={{output_dir}}/test-unarchive-zip/foo-unarchive.txt state=file - name: remove our tar unarchive destination file: path={{output_dir}}/test-unarchive-zip state=absent - name: remove our test file for the archive file: path={{output_dir}}/foo-unarchive.txt state=absent