- 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 # TODO: add check for idempotent run once it is added with force: yes - 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 last modified time on FTP source to older datetime win_shell: (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'