mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
fetch: fail if flat=yes and dest=existing-dir w/o trailing slash
This commit is contained in:
parent
f3bc8b84b6
commit
36c6d0f748
2 changed files with 19 additions and 0 deletions
|
@ -120,6 +120,11 @@ class ActionModule(ActionBase):
|
||||||
|
|
||||||
dest = os.path.expanduser(dest)
|
dest = os.path.expanduser(dest)
|
||||||
if flat:
|
if flat:
|
||||||
|
if os.path.isdir(to_bytes(dest, errors='surrogate_or_strict')) and not dest.endswith(os.sep):
|
||||||
|
result['msg'] = "dest is an existing directory, use a trailing slash if you want to fetch src into that directory"
|
||||||
|
result['file'] = dest
|
||||||
|
result['failed'] = True
|
||||||
|
return result
|
||||||
if dest.endswith(os.sep):
|
if dest.endswith(os.sep):
|
||||||
# if the path ends with "/", we'll use the source filename as the
|
# if the path ends with "/", we'll use the source filename as the
|
||||||
# destination filename
|
# destination filename
|
||||||
|
|
|
@ -122,3 +122,17 @@
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
'diff.stdout == ""'
|
'diff.stdout == ""'
|
||||||
|
|
||||||
|
- name: dest is an existing directory name without trailing slash and flat=yes, should fail
|
||||||
|
fetch:
|
||||||
|
src: "{{ output_dir }}/orig"
|
||||||
|
dest: "{{ output_dir }}"
|
||||||
|
flat: yes
|
||||||
|
register: failed_fetch_dest_dir
|
||||||
|
ignore_errors: true
|
||||||
|
|
||||||
|
- name: check that it indeed failed
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "failed_fetch_dest_dir|failed"
|
||||||
|
- "failed_fetch_dest_dir.msg"
|
||||||
|
|
Loading…
Reference in a new issue