b2a7561a7f
* set valid_until equal to current time + spot_wait_timeout * Add checksum check for downloaded file. * refactoring * fix typo * add fixes * mart try,catch handling * revert lib/ansible/modules/cloud/amazon/ec2.py from upstream * refactoring * remove empty lines * add checksum verification for existing file * fix current file check * refactoring destination file check * add handling exceptions * refactoring * Added download file hash data from url * fix string aligning * fix bug with uri * Added get hash from multy-string file * Added URI support for checksum file location * refactoing * Remove any non-alphanumeric characters for hash from url * fix discussions; add support for PS3 * refactoring * add size return value * checkout from upstream for lib/ansible/modules/cloud/amazon/ec2.py * add Ansible.ModuleUtils.Legacy support; refactoring * Copyright added * Checking files size before and after downloading added. * remove unused code * Corrected regexp for dotted slashed file name prefix in hash-file * hotfix typo error; add int tests * remove legacy module support; split checksum to checksum, checksum_algorithm, checksum_url * changed default hash algorithm * Fixed case for ContentLength = -1 * Old comment removed * fix typo * Remove file size check before downloading * add alias to ; fix tests * adjust tests; fix lint warnings from PSScritpAnalyzer * workaround for bug in win_chocolatey module on win2008 * remove win_get_url.ps1 from /test/sanity/pslint/ignore.txt * add checksum_algorithm as retuen value * first normalise before return Result * resolve discussions Signed-off-by: Viktor Utkin <viktor.utkin7@yandex.ru> * fix discussions fix http tests as discussed * fix last discussions * Reduce code duplication and add idempotency check * fix sanity issue and remove testing code * move back to using tmp file for checksum comparison
135 lines
3.9 KiB
YAML
135 lines
3.9 KiB
YAML
- name: download single file (check)
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '{{test_win_get_url_path}}\web.html'
|
|
check_mode: yes
|
|
register: http_download_check
|
|
|
|
- name: get result of download single file (check)
|
|
win_stat:
|
|
path: '{{test_win_get_url_path}}\web.html'
|
|
register: http_download_result_check
|
|
|
|
- name: assert download single file (check)
|
|
assert:
|
|
that:
|
|
- http_download_check is not failed
|
|
- http_download_check is changed
|
|
- http_download_check.url
|
|
- http_download_check.dest
|
|
- not http_download_result_check.stat.exists
|
|
|
|
- name: download single file
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '{{test_win_get_url_path}}\web.html'
|
|
register: http_download
|
|
|
|
- name: get result of download single file
|
|
win_stat:
|
|
path: '{{test_win_get_url_path}}\web.html'
|
|
register: http_download_result
|
|
|
|
- name: assert download single file
|
|
assert:
|
|
that:
|
|
- http_download is not failed
|
|
- http_download is changed
|
|
- http_download.url
|
|
- http_download.dest
|
|
- http_download_result.stat.exists
|
|
|
|
- name: download single file (idempotent)
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '{{test_win_get_url_path}}\web.html'
|
|
register: http_download_again
|
|
|
|
- name: assert download single file (idempotent)
|
|
assert:
|
|
that:
|
|
- not http_download_again is changed
|
|
|
|
- name: download single file with force no
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '{{test_win_get_url_path}}\web.html'
|
|
force: no
|
|
register: http_download_no_force
|
|
|
|
- name: assert download single file with force no
|
|
assert:
|
|
that:
|
|
- http_download_no_force is not changed
|
|
|
|
- name: manually change the content and last modified time on FTP source to older datetime
|
|
win_shell: |
|
|
Set-Content -Path '{{test_win_get_url_path}}\web.html' -Value 'abc'
|
|
(Get-Item -Path '{{test_win_get_url_path}}\web.html').LastWriteTime = (Get-Date -Date "01/01/1970")
|
|
|
|
- name: download newer file with force no
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '{{test_win_get_url_path}}\web.html'
|
|
force: no
|
|
register: http_download_newer_no_force
|
|
|
|
- name: assert download newer file with force no
|
|
assert:
|
|
that:
|
|
- http_download_newer_no_force is changed
|
|
|
|
- name: download file to directory
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '{{test_win_get_url_path}}'
|
|
register: http_download_to_directory
|
|
|
|
- name: get result of download to directory
|
|
win_stat:
|
|
path: '{{test_win_get_url_path}}\{{test_win_get_url_host}}'
|
|
register: http_download_to_directory_result
|
|
|
|
- name: assert download file to directory
|
|
assert:
|
|
that:
|
|
- http_download_to_directory is changed
|
|
- http_download_to_directory_result.stat.exists
|
|
|
|
- name: download to path with env var
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: '%{{test_win_get_url_env_var}}%\http-env.html'
|
|
register: http_download_with_env
|
|
|
|
- name: get result of download to path with env var
|
|
win_stat:
|
|
path: '{{test_win_get_url_path}}\http-env.html'
|
|
register: http_download_with_env_result
|
|
|
|
- name: assert download to path with env var
|
|
assert:
|
|
that:
|
|
- http_download_with_env is changed
|
|
- http_download_with_env_result.stat.exists
|
|
|
|
- name: fail when link returns 404
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}/skynet_module.html
|
|
dest: '{{test_win_get_url_path}}\skynet_module.html'
|
|
ignore_errors: yes
|
|
register: fail_download_404
|
|
|
|
- name: assert fail when link returns 404
|
|
assert:
|
|
that:
|
|
- fail_download_404 is not changed
|
|
- fail_download_404 is failed
|
|
- fail_download_404.status_code == 404
|
|
|
|
- name: fail when dest is an invalid path
|
|
win_get_url:
|
|
url: https://{{test_win_get_url_host}}
|
|
dest: Q:\Filez\Cyberdyne.html
|
|
register: fail_invalid_path
|
|
failed_when: '"The path ''Q:\Filez'' does not exist for destination ''Q:\Filez\Cyberdyne.html''" not in fail_invalid_path.msg'
|