ansible/test/integration/targets/win_package/tasks/msi_tests.yml
Jordan Borean adabefd016 win_package: rewrite, check mode, tests, more check options (#27470)
* rewrite of win_package to enable win_msi deprecation

* fix some minor doc issues

* Removed exe tests

* dag's changes seem to be missing, re-add them

* fixed yaml for return values
2017-08-28 19:03:10 -04:00

335 lines
10 KiB
YAML

---
# this test just makes sure the task doesn't fail when we set out expected rc
- name: install broken msi override expected rc
win_package:
path: '{{test_win_package_path}}\bad.msi'
state: present
expected_return_code: 0,1603
- name: install local msi (check mode)
win_package:
path: '{{test_win_package_path}}\good.msi'
state: present
register: install_local_msi_check
check_mode: yes
- name: get result of install local msi (check mode)
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: install_local_msi_actual_check
- name: assert install local msi (check mode)
assert:
that:
- install_local_msi_check|changed
- install_local_msi_check.reboot_required == False
- install_local_msi_actual_check.exists == False
- name: install local msi
win_package:
path: '{{test_win_package_path}}\good.msi'
state: present
expected_return_code: "" # historical, an empty string means 0, 3010
register: install_local_msi
- name: get result of install local msi
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: install_local_msi_actual
- name: assert install local msi
assert:
that:
- install_local_msi|changed
- install_local_msi.reboot_required == False
- install_local_msi.exit_code == 0
- install_local_msi_actual.exists == True
- name: install local msi (idempotent)
win_package:
path: '{{test_win_package_path}}\good.msi'
state: present
register: install_local_msi_idempotent
- name: assert install local msi (idempotent)
assert:
that:
- not install_local_msi_idempotent|changed
- name: uninstall local msi with path (check mode)
win_package:
path: '{{test_win_package_path}}\good.msi'
state: absent
register: uninstall_path_local_msi_check
check_mode: yes
- name: get result of uninstall local msi with path (check mode)
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: uninstall_path_local_msi_actual_check
- name: assert uninstall local msi with path (check mode)
assert:
that:
- uninstall_path_local_msi_check|changed
- uninstall_path_local_msi_check.reboot_required == False
- uninstall_path_local_msi_actual_check.exists == True
- name: uninstall local msi with path
win_package:
path: '{{test_win_package_path}}\good.msi'
state: absent
register: uninstall_path_local_msi
- name: get result of uninstall local msi with path
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: uninstall_path_local_msi_actual
- name: assert uninstall local msi with path
assert:
that:
- uninstall_path_local_msi|changed
- uninstall_path_local_msi.reboot_required == False
- uninstall_path_local_msi.exit_code == 0
- uninstall_path_local_msi_actual.exists == False
- name: uninstall local msi with path (idempotent)
win_package:
path: '{{test_win_package_path}}\good.msi'
state: absent
register: uninstall_path_local_msi_idempotent
- name: assert uninstall local msi with path (idempotent)
assert:
that:
- not uninstall_path_local_msi_idempotent|changed
- name: install url msi (check mode)
win_package:
path: '{{test_win_package_good_url}}'
product_id: '{{test_win_package_good_id}}'
state: present
register: install_url_msi_check
check_mode: yes
- name: get result of install url msi (check mode)
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: install_url_msi_actual_check
- name: assert install url msi (check mode)
assert:
that:
- install_url_msi_check|changed
- install_url_msi_check.reboot_required == False
- install_url_msi_actual_check.exists == False
- name: install url msi
win_package:
path: '{{test_win_package_good_url}}'
product_id: '{{test_win_package_good_id}}'
state: present
register: install_url_msi
- name: get result of install url msi
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: install_url_msi_actual
- name: assert install url msi
assert:
that:
- install_url_msi|changed
- install_url_msi.reboot_required == False
- install_url_msi.exit_code == 0
- install_url_msi_actual.exists == True
- name: install url msi (idempotent)
win_package:
path: '{{test_win_package_good_url}}'
product_id: '{{test_win_package_good_id}}'
state: present
register: install_url_msi_again
- name: assert install url msi (idempotent)
assert:
that:
- not install_url_msi_again|changed
- name: uninstall local msi with product_id (check mode)
win_package:
product_id: '{{test_win_package_good_id}}'
state: absent
register: uninstall_id_local_msi_check
check_mode: yes
- name: get result of uninstall local msi with product_id (check mode)
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: uninstall_id_local_msi_actual_check
- name: assert uninstall local msi with product_id (check mode)
assert:
that:
- uninstall_id_local_msi_check|changed
- uninstall_id_local_msi_check.reboot_required == False
- uninstall_id_local_msi_actual_check.exists == True
- name: uninstall local msi with product_id
win_package:
product_id: '{{test_win_package_good_id}}'
state: absent
register: uninstall_id_local_msi
- name: get result of uninstall local msi with product_id
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_good_id}}
register: uninstall_id_local_msi_actual
- name: assert uninstall local msi with product_id
assert:
that:
- uninstall_id_local_msi|changed
- uninstall_id_local_msi.reboot_required == False
- uninstall_id_local_msi.exit_code == 0
- uninstall_id_local_msi_actual.exists == False
- name: uninstall local msi with product_id (idempotent)
win_package:
product_id: '{{test_win_package_good_id}}'
state: absent
register: uninstall_id_local_msi_idempotent
- name: assert uninstall local msi with product_id (idempotent)
assert:
that:
- not uninstall_id_local_msi_idempotent|changed
- name: install local reboot msi (check mode)
win_package:
path: '{{test_win_package_path}}\reboot.msi'
state: present
register: install_local_reboot_msi_check
check_mode: yes
- name: get result of install local reboot msi (check mode)
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_reboot_id}}
register: install_local_reboot_msi_actual_check
- name: assert install local reboot msi (check mode)
assert:
that:
- install_local_reboot_msi_check|changed
- install_local_reboot_msi_check.reboot_required == False
- install_local_reboot_msi_actual_check.exists == False
- name: install local reboot msi
win_package:
path: '{{test_win_package_path}}\reboot.msi'
state: present
register: install_local_reboot_msi
- name: get result of install local reboot msi
win_reg_stat:
path: HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{{test_win_package_reboot_id}}
register: install_local_reboot_msi_actual
- name: assert install local reboot msi
assert:
that:
- install_local_reboot_msi|changed
- install_local_reboot_msi.reboot_required == True
- install_local_reboot_msi.exit_code == 3010
- install_local_reboot_msi_actual.exists == True
- name: install local reboot msi (idempotent)
win_package:
path: '{{test_win_package_path}}\reboot.msi'
state: present
register: install_local_reboot_msi_idempotent
- name: assert install local reboot msi (idempotent)
assert:
that:
- not install_local_reboot_msi_idempotent|changed
- name: uninstall reboot msi after test
win_package:
path: '{{test_win_package_path}}\reboot.msi'
state: absent
- name: ensure the install folder is cleaned in case uninstall didn't work
win_file:
path: '%ProgramFiles(x86)%\Bovine University'
state: absent
- name: install local msi with arguments (check mode)
win_package:
path: '{{test_win_package_path}}\good.msi'
state: present
arguments: ADDLOCAL=Cow
register: install_msi_argument_check
check_mode: yes
- name: get result of moo file after install local msi with arguments (check mode)
win_stat:
path: '%ProgramFiles(x86)%\Bovine University\moo.exe'
register: install_msi_argument_moo_check
- name: get result of cow file after install local msi with arguments (check mode)
win_stat:
path: '%ProgramFiles(x86)%\Bovine University\cow.exe'
register: install_msi_argument_cow_check
- name: assert install local msi with arguments (check mode)
assert:
that:
- install_msi_argument_check|changed
- install_msi_argument_check.reboot_required == False
- install_msi_argument_moo_check.stat.exists == False
- install_msi_argument_cow_check.stat.exists == False
- name: install local msi with arguments
win_package:
path: '{{test_win_package_path}}\good.msi'
state: present
arguments: ADDLOCAL=Cow
register: install_msi_argument
- name: get result of moo file after install local msi with arguments
win_stat:
path: '%ProgramFiles(x86)%\Bovine University\moo.exe'
register: install_msi_argument_moo
- name: get result of cow file after install local msi with arguments
win_stat:
path: '%ProgramFiles(x86)%\Bovine University\cow.exe'
register: install_msi_argument_cow
- name: assert install local msi with arguments
assert:
that:
- install_msi_argument|changed
- install_msi_argument.reboot_required == False
- install_msi_argument.exit_code == 0
- install_msi_argument_moo.stat.exists == False
- install_msi_argument_cow.stat.exists == True
- name: install local msi with arguments (idempotent)
win_package:
path: '{{test_win_package_path}}\good.msi'
state: present
arguments: ADDLOCAL=Cow
register: install_msi_argument_again
- name: assert install local msi with arguments (idempotent)
assert:
that:
- not install_msi_argument_again|changed
- name: uninstall good msi after test
win_package:
path: '{{test_win_package_path}}\good.msi'
state: absent