--- - name: create test folder win_file: path: '{{test_win_pester_path}}\Modules' state: directory - name: download Pester module from S3 bucket win_get_url: # this was downloaded straight off the Pester GitHub release page and uploaded to the S3 bucket # https://github.com/pester/Pester/releases url: 'https://s3.amazonaws.com/ansible-ci-files/test/integration/roles/test_win_pester/Pester-4.3.1.zip' dest: '{{test_win_pester_path}}\Pester-4.3.1.zip' - name: unzip Pester module win_unzip: src: '{{test_win_pester_path}}\Pester-4.3.1.zip' dest: '{{test_win_pester_path}}\Modules' - name: rename extracted zip to match module name win_shell: Rename-Item -Path '{{test_win_pester_path}}\Modules\Pester-4.3.1' -NewName Pester - name: add custom Pester location to the PSModulePath win_path: name: PSModulePath scope: machine state: present elements: - '{{test_win_pester_path}}\Modules' - name: copy test files win_copy: src: files/ dest: '{{test_win_pester_path}}\' - block: - name: run Pester tests include_tasks: test.yml always: - name: remove custom pester location on the PSModulePath win_path: name: PSModulePath scope: machine state: absent elements: - '{{test_win_pester_path}}\Modules' - name: delete test folder win_file: path: '{{test_win_pester_path}}' state: absent