ansible.posix/tests/integration/targets/synchronize/tasks/main.yml
Hideki Saito 6f8101f49e TEST
2022-03-13 01:02:34 +09:00

336 lines
8.6 KiB
YAML

- name: install rsync
package:
name: rsync
when: ansible_distribution != "MacOSX"
- name: Clean up the working directory and files
file:
path: '{{ output_dir }}'
state: absent
- name: Create the working directory
file:
path: '{{ output_dir }}'
state: directory
- name: create test new files
copy:
dest: '{{output_dir}}/{{item}}'
mode: '0644'
content: 'hello world'
with_items:
- foo.txt
- bar.txt
- name: Check facts
debug:
var: ansible_facts
- name: Check virtualization_type
debug:
msg: "{{ ansible_facts.virtualization_type }}"
- name: Check '{{ output_dir }}' value
debug:
msg: "{{ output_dir }}"
- name: test that the file was really copied over
stat:
path: "{{ output_dir }}/{{item}}"
with_items:
- foo.txt
- bar.txt
- name: copy file to new filename
copy:
src: "{{ output_dir }}/foo.txt"
dest: "{{ output_dir }}/foo.result"
#- name: synchronize file to new filename
# synchronize:
# src: "{{ output_dir }}/foo.txt"
# dest: "{{ output_dir }}/foo.result"
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- 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
#
# '')'
#- name: test that the file was really copied over
# stat:
# path: '{{ output_dir }}/foo.result'
# register: stat_result
#- assert:
# that:
# - stat_result.stat.exists == True
# - stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
#- name: test that the file is not copied a second time
# synchronize:
# src='{{output_dir}}/foo.txt'
# dest='{{output_dir}}/foo.result'
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- assert:
# that:
# - sync_result.changed == False
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}'
# with_items:
# - foo.result
# - bar.result
#
#- name: Synchronize using the mode=push param
# synchronize:
# src: '{{output_dir}}/foo.txt'
# dest: '{{output_dir}}/foo.result'
# mode: push
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- 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
#
# '')'
#- name: test that the file was really copied over
# stat:
# path: '{{ output_dir }}/foo.result'
# register: stat_result
#- assert:
# that:
# - stat_result.stat.exists == True
# - stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
#
#- name: test that the file is not copied a second time
# synchronize:
# src: '{{output_dir}}/foo.txt'
# dest: '{{output_dir}}/foo.result'
# mode: push
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- assert:
# that:
# - sync_result.changed == False
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}'
# with_items:
# - foo.result
# - bar.result
#
#- name: Synchronize using the mode=pull param
# synchronize:
# src: '{{output_dir}}/foo.txt'
# dest: '{{output_dir}}/foo.result'
# mode: pull
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- 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
#
# '')'
#- name: test that the file was really copied over
# stat:
# path: '{{ output_dir }}/foo.result'
# register: stat_result
#- assert:
# that:
# - stat_result.stat.exists == True
# - stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
#
#- name: test that the file is not copied a second time
# synchronize:
# src: '{{output_dir}}/foo.txt'
# dest: '{{output_dir}}/foo.result'
# mode: pull
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- assert:
# that:
# - sync_result.changed == False
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}'
# with_items:
# - foo.result
# - bar.result
#
#- 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
# delegate_to: '{{ inventory_hostname }}'
#- 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
#
# '')'
# - 'sync_result.results[1].msg.endswith(''+ bar.txt
#
# '')'
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}.result'
# with_items:
# - foo.txt
# - bar.txt
#
#- 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
# delegate_to: '{{ inventory_hostname }}'
#- assert:
# that:
# - '''changed'' in sync_result'
# - sync_result.changed == true
# - '''cmd'' in sync_result'
# - '''rsync'' in sync_result.cmd'
# - '''rsync_path'' in sync_result.cmd'
# - '''msg'' in sync_result'
# - sync_result.msg.startswith('>f+')
# - 'sync_result.msg.endswith(''+ foo.txt
#
# '')'
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}'
# with_items:
# - foo.rsync_path
#- name: add subdirectories for link-dest test
# file:
# path: '{{output_dir}}/{{item}}/'
# state: directory
# mode: '0755'
# with_items:
# - directory_a
# - directory_b
#- name: copy foo.txt into the first directory
# synchronize:
# src: '{{output_dir}}/foo.txt'
# dest: '{{output_dir}}/{{item}}/foo.txt'
# with_items:
# - directory_a
# delegate_to: '{{ inventory_hostname }}'
#- name: synchronize files using link_dest
# synchronize:
# src: '{{output_dir}}/directory_a/foo.txt'
# dest: '{{output_dir}}/directory_b/foo.txt'
# link_dest:
# - '{{output_dir}}/directory_a'
# register: sync_result
# delegate_to: '{{ inventory_hostname }}'
#- name: get stat information for directory_a
# stat:
# path: '{{ output_dir }}/directory_a/foo.txt'
# register: stat_result_a
#- name: get stat information for directory_b
# stat:
# path: '{{ output_dir }}/directory_b/foo.txt'
# register: stat_result_b
#- assert:
# that:
# - '''changed'' in sync_result'
# - sync_result.changed == true
# - stat_result_a.stat.inode == stat_result_b.stat.inode
#- name: synchronize files using link_dest that would be recursive
# synchronize:
# src: '{{output_dir}}/foo.txt'
# dest: '{{output_dir}}/foo.result'
# link_dest:
# - '{{output_dir}}'
# register: sync_result
# ignore_errors: true
# delegate_to: '{{ inventory_hostname }}'
#
#- assert:
# that:
# - sync_result is not changed
# - sync_result is failed
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}'
# with_items:
# - directory_b/foo.txt
# - directory_a/foo.txt
# - directory_a
# - directory_b
#
#- name: setup - test for source with working dir with spaces in path
# file:
# state: directory
# path: '{{output_dir}}/{{item}}'
# delegate_to: '{{ inventory_hostname }}'
# with_items:
# - 'directory a'
# - 'directory b'
#- name: setup - create test new files
# copy:
# dest: '{{output_dir}}/directory a/{{item}}'
# mode: '0644'
# content: 'hello world'
# with_items:
# - foo.txt
# delegate_to: '{{ inventory_hostname }}'
#- name: copy source with spaces in dir path
# synchronize:
# src: '{{output_dir}}/directory a/foo.txt'
# dest: '{{output_dir}}/directory b/'
# delegate_to: '{{ inventory_hostname }}'
# register: sync_result
# ignore_errors: true
#- name: get stat information for directory_b
# stat:
# path: '{{ output_dir }}/directory b/foo.txt'
# register: stat_result_b
#- assert:
# that:
# - '''changed'' in sync_result'
# - sync_result.changed == true
# - stat_result_b.stat.exists == True
# - stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
#- name: Cleanup
# file:
# state: absent
# path: '{{output_dir}}/{{item}}'
# with_items:
# - 'directory b/foo.txt'
# - 'directory a/foo.txt'
# - 'directory a'
# - 'directory b'
#