diff options
author | Sloane Hertel <19572925+s-hertel@users.noreply.github.com> | 2023-03-20 12:55:15 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-20 11:55:15 -0500 |
commit | 1d3800a8d7b5a4f36552e30e648280ed62c347f1 (patch) | |
tree | c3c82bff669b4901c990ebb4a21c30552e6f1bdb /test | |
parent | 28c9d93fe07b9f18a0c3e2f87559756edd5364a5 (diff) | |
download | ansible-1d3800a8d7b5a4f36552e30e648280ed62c347f1.tar.gz |
copy - fix check mode with remote_src=True (#78624) (#80176)
* Don't create dest directory in check mode
uncomment existing test
Fix checking for file attribute changes in check mode and add a test
(cherry picked from commit b7a0e0d79278906c57c6dfc637d0e0b09b45db34)
Diffstat (limited to 'test')
-rw-r--r-- | test/integration/targets/copy/tasks/check_mode.yml | 41 |
1 files changed, 39 insertions, 2 deletions
diff --git a/test/integration/targets/copy/tasks/check_mode.yml b/test/integration/targets/copy/tasks/check_mode.yml index 5b405cc49a..9702e07089 100644 --- a/test/integration/targets/copy/tasks/check_mode.yml +++ b/test/integration/targets/copy/tasks/check_mode.yml @@ -113,8 +113,7 @@ - check_mode_subdir_first is changed - check_mode_trailing_slash_first is changed - # TODO: This is a legitimate bug - #- not check_mode_trailing_slash_first_stat.stat.exists + - not check_mode_trailing_slash_first_stat.stat.exists - check_mode_trailing_slash_real is changed - check_mode_trailing_slash_real_stat.stat.exists - check_mode_trailing_slash_second is not changed @@ -124,3 +123,41 @@ - check_mode_foo_real is changed - check_mode_foo_real_stat.stat.exists - check_mode_foo_second is not changed + + - name: check_mode - Do a basic copy to setup next test (without check mode) + copy: + src: foo.txt + dest: "{{ remote_dir }}/foo-check_mode.txt" + mode: 0444 + + - name: check_mode - Copy the same src with a different mode (check mode) + copy: + src: foo.txt + dest: "{{ remote_dir }}/foo-check_mode.txt" + mode: 0666 + check_mode: True + register: check_mode_file_attribute + + - name: stat the file to make sure the mode was not updated in check mode + stat: + path: "{{ remote_dir }}/foo-check_mode.txt" + register: check_mode_file_attribute_stat + + - name: check_mode - Copy the same src with a different mode (without check mode) + copy: + src: foo.txt + dest: "{{ remote_dir }}/foo-check_mode.txt" + mode: 0666 + register: real_file_attribute + + - name: stat the file to make sure the mode was updated without check mode + stat: + path: "{{ remote_dir }}/foo-check_mode.txt" + register: real_file_attribute_stat + + - assert: + that: + - check_mode_file_attribute is changed + - real_file_attribute is changed + - "check_mode_file_attribute_stat.stat.mode == '0444'" + - "real_file_attribute_stat.stat.mode == '0666'" |