ansible/test/integration/targets/win_package/tasks/msp_tests.yml
Jordan Borean 446a0c1b08
win_package - Refactor with msp, appx support (#66931)
* win_package - Refactor with msp, appx support

* Added msi test for ALLUSERS

* Added some msix tests, refactored tests

* Added remaining msix tests

* Enable msix sideloading for tests

* Added remaining exe path tests

* Added basic msp tests

* Remove url options now the util no longer has them

* Fix file version check for older Windows hosts

* Remove no_proxy ansible-test setting

* Use same mechanism of become to copy the file with explicit creds
2020-02-13 16:44:19 +10:00

167 lines
4.3 KiB
YAML

---
- name: fail if base product is not applied
win_package:
path: '{{ test_path }}\patch.msp'
state: present
register: fail_no_product_found
failed_when: '"The specified patch does not apply to any installed MSI packages" not in fail_no_product_found.msg'
- name: install base package for msp patch
win_package:
path: '{{ test_path }}\patch.msi'
state: present
- name: install msp (check mode)
win_package:
path: '{{ test_path }}\patch.msp'
state: present
register: msp_install_check
check_mode: yes
- name: get result of install msp (check mode)
slurp:
path: '{{ patch_install_file }}'
register: msp_install_actual_check
- name: assert install msp (check mode)
assert:
that:
- msp_install_check is changed
- msp_install_check.rc == 0
- not msp_install_check.reboot_required
- msp_install_actual_check.content | b64decode == 'This is version 1.0'
- name: install msp
win_package:
path: '{{ test_path }}\patch.msp'
state: present
register: msp_install
- name: get result of install msp
slurp:
path: '{{ patch_install_file }}'
register: msp_install_actual
- name: assert install msp
assert:
that:
- msp_install is changed
- msp_install.rc == 0
- not msp_install.reboot_required
- msp_install_actual.content | b64decode == 'This is version 1.1'
- name: install msp (idempotence)
win_package:
path: '{{ test_path }}\patch.msp'
state: present
register: msp_install_again
- name: assert install msp (idempotence)
assert:
that:
- not msp_install_again is changed
- name: remove msp by path (check mode)
win_package:
path: '{{ test_path }}\patch.msp'
state: absent
register: msp_uninstall_path_check
check_mode: yes
- name: get result of remove msp by path (check mode)
slurp:
path: '{{ patch_install_file }}'
register: msp_uninstall_path_actual_check
- name: assert remove msp by path (check mode)
assert:
that:
- msp_uninstall_path_check is changed
- msp_uninstall_path_check.rc == 0
- not msp_uninstall_path_check.reboot_required
- msp_uninstall_path_actual_check.content | b64decode == 'This is version 1.1'
- name: remove msp by path
win_package:
path: '{{ test_path }}\patch.msp'
state: absent
register: msp_uninstall_path
- name: get result of remove msp by path
slurp:
path: '{{ patch_install_file }}'
register: msp_uninstall_path_actual
- name: assert remove msp by path
assert:
that:
- msp_uninstall_path is changed
- msp_uninstall_path.rc == 0
- not msp_uninstall_path.reboot_required
- msp_uninstall_path_actual.content | b64decode == 'This is version 1.0'
- name: remove msp by path (idempotence)
win_package:
path: '{{ test_path }}\patch.msp'
state: absent
register: msp_uninstall_path_again
- name: assert remove msp by path (idempotence)
assert:
that:
- not msp_uninstall_path_again is changed
- name: install patch again
win_package:
path: '{{ test_path }}\patch.msp'
state: present
- name: remove msp by id (check mode)
win_package:
product_id: '{{ patch_patch_id }}'
state: absent
register: msp_uninstall_id_check
check_mode: yes
- name: get result of remove msp by id (check mode)
slurp:
path: '{{ patch_install_file }}'
register: msp_uninstall_id_actual_check
- name: assert remove msp by id (check mode)
assert:
that:
- msp_uninstall_id_check is changed
- msp_uninstall_id_check.rc == 0
- not msp_uninstall_id_check.reboot_required
- msp_uninstall_id_actual_check.content | b64decode == 'This is version 1.1'
- name: remove msp by id
win_package:
product_id: '{{ patch_patch_id }}'
state: absent
register: msp_uninstall_id
- name: get result of remove msp by id
slurp:
path: '{{ patch_install_file }}'
register: msp_uninstall_id_actual
- name: assert remove msp by id
assert:
that:
- msp_uninstall_id is changed
- msp_uninstall_id.rc == 0
- not msp_uninstall_id.reboot_required
- msp_uninstall_id_actual.content | b64decode == 'This is version 1.0'
- name: remove msp by id (idempotence)
win_package:
product_id: '{{ patch_patch_id }}'
state: absent
register: msp_uninstall_id_again
- name: assert remove msp by id (idempotence)
assert:
that:
- not msp_uninstall_id_again is changed