ansible/test/integration/targets/win_get_url/tasks/tests_ftp.yml
Jordan Borean 99f36c6ce5
win_get_url: Fixed a few issues with using FTP and added tests (#39646) (#39705)
* win_get_url: Fixed a few issues with using FTP and added tests

* Fixed typo in docs

(cherry picked from commit f75b7a9437)
2018-05-04 09:24:44 +10:00

157 lines
5 KiB
YAML

---
- name: download file from FTP source (check)
win_get_url:
url: ftp://localhost/anon/file.txt
dest: '{{test_win_get_url_path}}\ftp-anon.txt'
check_mode: yes
register: ftp_anon_check
- name: get results of download file from FTP source (check)
win_stat:
path: '{{test_win_get_url_path}}\ftp-anon.txt'
register: ftp_anon_result_check
- name: assert download file from FTP source (check)
assert:
that:
- ftp_anon_check is changed
- not ftp_anon_result_check.stat.exists
- name: download file from FTP source
win_get_url:
url: ftp://localhost/anon/file.txt
dest: '{{test_win_get_url_path}}\ftp-anon.txt'
register: ftp_anon
- name: get results of download file from FTP source
win_stat:
path: '{{test_win_get_url_path}}\ftp-anon.txt'
register: ftp_anon_result
- name: assert download file from FTP source
assert:
that:
- ftp_anon is changed
- ftp_anon_result.stat.exists
- ftp_anon_result.stat.checksum == '67e0de92f29645cc30d8d147b767cceb81756651'
# TODO: Add check for idempotent with force: yes once tmp download and checksum verify are in
- name: download file from FTP source with force no (check)
win_get_url:
url: ftp://localhost/anon/file.txt
dest: '{{test_win_get_url_path}}\ftp-anon.txt'
force: no
check_mode: yes
register: ftp_anon_force_no_check
- name: assert download file from FTP source with force no
assert:
that:
- ftp_anon_force_no_check is not changed
- name: download file from FTP source with force no
win_get_url:
url: ftp://localhost/anon/file.txt
dest: '{{test_win_get_url_path}}\ftp-anon.txt'
force: no
register: ftp_anon_force_no
- name: assert download file from FTP source with force no
assert:
that:
- ftp_anon_force_no is not changed
- name: set last modified time on FTP source to newer datetime
win_shell: (Get-Item -Path '{{test_win_get_url_path}}\ftp\anon\file2.txt').LastWriteTime = (Get-Date).AddHours(24)
- name: download newer file from FTP source to same dest (check)
win_get_url:
url: ftp://localhost/anon/file2.txt
dest: '{{test_win_get_url_path}}\ftp-anon.txt'
force: no
check_mode: yes
register: ftp_anon_force_no_different_check
- name: get result of download newer file from FTP source to same dest (check)
win_stat:
path: '{{test_win_get_url_path}}\ftp-anon.txt'
register: ftp_anon_force_no_different_result_check
- name: assert download newer file from FTP source to same dest (check)
assert:
that:
- ftp_anon_force_no_different_check is changed
- ftp_anon_force_no_different_result_check.stat.checksum == '67e0de92f29645cc30d8d147b767cceb81756651'
- name: download newer file from FTP source to same dest
win_get_url:
url: ftp://localhost/anon/file2.txt
dest: '{{test_win_get_url_path}}\ftp-anon.txt'
force: no
register: ftp_anon_force_no_different
- name: get result of download newer file from FTP source to same dest
win_stat:
path: '{{test_win_get_url_path}}\ftp-anon.txt'
register: ftp_anon_force_no_different_result
- name: assert download newer file from FTP source to same dest (check)
assert:
that:
- ftp_anon_force_no_different is changed
- ftp_anon_force_no_different_result.stat.checksum == 'eac3baccd817f7137c00138559e2e62aca64aab0'
- name: fail to download file from ftp protected by username
win_get_url:
url: ftp://localhost/user/file.txt
dest: '{{test_win_get_url_path}}\ftp-user.txt'
register: fail_ftp_no_user
ignore_errors: yes
- name: assert fail to download file from ftp protected by username
assert:
that:
- fail_ftp_no_user is failed
- fail_ftp_no_user is not changed
- fail_ftp_no_user.status_code == 550
- '"File unavailable (e.g., file not found, no access)." in fail_ftp_no_user.msg'
- name: download FTP file protected by username
win_get_url:
url: ftp://localhost/user/file.txt
dest: '{{test_win_get_url_path}}\ftp-user.txt'
url_username: username
register: ftp_user_file
- name: get result of download FTP file protected by username
win_stat:
path: '{{test_win_get_url_path}}\ftp-user.txt'
register: ftp_user_file_result
- name: assert download FTP file protected by username
assert:
that:
- ftp_user_file is changed
- ftp_user_file_result.stat.exists
- ftp_user_file_result.stat.checksum == '0efc2e97611cf74e25ec17a00d4b2cf65d0c28ba'
- name: download FTP file protected by username and password
win_get_url:
url: ftp://localhost/user-pass/file.txt
dest: '{{test_win_get_url_path}}\ftp-user-pass.txt'
url_username: userpass
url_password: password
register: ftp_user_pass_file
- name: get result of download FTP file protected by username and password
win_stat:
path: '{{test_win_get_url_path}}\ftp-user-pass.txt'
register: ftp_user_pass_file_result
- name: assert download FTP file protected by username and password
assert:
that:
- ftp_user_pass_file is changed
- ftp_user_pass_file_result.stat.exists
- ftp_user_pass_file_result.stat.checksum == '7da5f1124d4a986cba2b4658d38d95eb55afe086'