# test code for the synchronize module # (c) 2014, James Tanner # 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 . # FIXME: tags should auto-apply to role dependencies - name: cleanup old files shell: rm -rf {{output_dir}}/* - name: create test new files copy: dest={{output_dir}}/{{item}} mode=0644 content="hello world" with_items: - foo.txt - bar.txt - name: synchronize file to new filename synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.result register: sync_result - assert: that: - "'changed' in sync_result" - "sync_result.changed == true" - "'cmd' in sync_result" - "'rsync' in sync_result.cmd" - "'msg' in sync_result" - "sync_result.msg.startswith('>f+')" - "sync_result.msg.endswith('+ foo.txt\n')" - name: synchronize files using with_items (issue#5965) synchronize: src={{output_dir}}/{{item}} dest={{output_dir}}/{{item}}.result with_items: - foo.txt - bar.txt register: sync_result - debug: var=sync_result - assert: that: - "sync_result.changed" - "sync_result.msg == 'All items completed'" - "'results' in sync_result" - "sync_result.results|length == 2" - "sync_result.results[0].msg.endswith('+ foo.txt\n')" - "sync_result.results[1].msg.endswith('+ bar.txt\n')" - name: synchronize files using rsync_path (issue#7182) synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.rsync_path rsync_path="sudo rsync" register: sync_result - debug: var=sync_result