1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/test/integration/targets/win_environment/tasks/main.yml
Jordan Borean db195831fd
win_environment: Added explicit check for null, empty string with state=present (#40468)
* win_environment: Added explicit check for null, empty string with state=present

* Added changelog fragment
2018-05-22 06:45:33 +10:00

267 lines
10 KiB
YAML

---
- name: ensure test environment value is not set in all scope
win_environment:
name: "{{test_environment_name}}"
state: absent
level: "{{item}}"
with_items:
- machine
- process
- user
- name: fail to create environment value with null value
win_environment:
name: "{{test_environment_name}}"
state: present
level: machine
register: create_fail_null
failed_when: create_fail_null.msg != "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent"
- name: fail to create environment value with empty value
win_environment:
name: "{{test_environment_name}}"
value: ''
state: present
level: machine
register: create_fail_empty_string
failed_when: create_fail_null.msg != "When state=present, value must be defined and not an empty string, if you wish to remove the envvar, set state=absent"
- name: create test environment value for machine check
win_environment:
name: "{{test_environment_name}}"
value: "{{test_machine_environment_value}}"
state: present
level: machine
register: create_machine_check
check_mode: True
- name: get value of environment key for machine after changing check
win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: create_machine_check_actual
- name: assert change test environment value for machine check
assert:
that:
- create_machine_check is changed
- create_machine_check_actual.stdout == ""
- name: create test environment value for machine
win_environment:
name: "{{test_environment_name}}"
value: "{{test_machine_environment_value}}"
state: present
level: machine
register: create_machine
- name: get value of environment key for machine after changing
win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: create_machine_actual
- name: assert test environment value for machine
assert:
that:
- create_machine is changed
- create_machine.before_value == None
- create_machine_actual.stdout == "{{test_machine_environment_value}}\r\n"
- name: create test environment value for machine again
win_environment:
name: "{{test_environment_name}}"
value: "{{test_machine_environment_value}}"
state: present
level: machine
register: create_machine_again
- name: get value of environment key for machine after changing again
win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: create_machine_actual_again
- name: assert create test environment value for machine again
assert:
that:
- create_machine_again is not changed
- create_machine_again.before_value == test_machine_environment_value
- create_machine_actual_again.stdout == "{{test_machine_environment_value}}\r\n"
- name: change test environment value for machine check
win_environment:
name: "{{test_environment_name}}"
value: "{{test_new_machine_environment_value}}"
state: present
level: machine
register: change_machine_check
check_mode: True
- name: get value of environment key for machine after changing check
win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: change_machine_actual_check
- name: assert change test environment value for machine check
assert:
that:
- change_machine_check is changed
- change_machine_check.before_value == test_machine_environment_value
- change_machine_actual_check.stdout == "{{test_machine_environment_value}}\r\n"
- name: change test environment value for machine
win_environment:
name: "{{test_environment_name}}"
value: "{{test_new_machine_environment_value}}"
state: present
level: machine
register: change_machine
- name: get value of environment key for machine after changing
win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: change_machine_actual
- name: assert change test environment value for machine
assert:
that:
- change_machine is changed
- change_machine.before_value == test_machine_environment_value
- change_machine_actual.stdout == "{{test_new_machine_environment_value}}\r\n"
- name: change test environment value for machine again
win_environment:
name: "{{test_environment_name}}"
value: "{{test_new_machine_environment_value}}"
state: present
level: machine
register: change_machine_again
- name: get value of environment key for machine after changing again
win_command: powershell.exe "[Microsoft.Win32.Registry]::LocalMachine.OpenSubKey('SYSTEM\CurrentControlSet\Control\Session Manager\Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: change_machine_actual_again
- name: assert change test environment value for machine again
assert:
that:
- change_machine_again is not changed
- change_machine_again.before_value == test_new_machine_environment_value
- change_machine_actual_again.stdout == "{{test_new_machine_environment_value}}\r\n"
- name: create test environment value for user check
win_environment:
name: "{{test_environment_name}}"
value: "{{test_user_environment_value}}"
state: present
level: user
register: create_user_check
check_mode: True
- name: get value of environment key for user after changing check
win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: create_user_check_actual
- name: assert change test environment value for user check
assert:
that:
- create_user_check is changed
- create_user_check_actual.stdout == ""
- name: create test environment value for user
win_environment:
name: "{{test_environment_name}}"
value: "{{test_user_environment_value}}"
state: present
level: user
register: create_user
- name: get value of environment key for user after changing
win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: create_user_actual
- name: assert test environment value for user
assert:
that:
- create_user is changed
- create_user.before_value == None
- create_user_actual.stdout == "{{test_user_environment_value}}\r\n"
- name: create test environment value for user again
win_environment:
name: "{{test_environment_name}}"
value: "{{test_user_environment_value}}"
state: present
level: user
register: create_user_again
- name: get value of environment key for user after changing again
win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: create_user_actual_again
- name: assert create test environment value for user again
assert:
that:
- create_user_again is not changed
- create_user_again.before_value == test_user_environment_value
- create_user_actual_again.stdout == "{{test_user_environment_value}}\r\n"
- name: change test environment value for user check
win_environment:
name: "{{test_environment_name}}"
value: "{{test_new_user_environment_value}}"
state: present
level: user
register: change_user_check
check_mode: True
- name: get value of environment key for user after changing check
win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: change_user_actual_check
- name: assert change test environment value for user check
assert:
that:
- change_user_check is changed
- change_user_check.before_value == test_user_environment_value
- change_user_actual_check.stdout == "{{test_user_environment_value}}\r\n"
- name: change test environment value for user
win_environment:
name: "{{test_environment_name}}"
value: "{{test_new_user_environment_value}}"
state: present
level: user
register: change_user
- name: get value of environment key for user after changing
win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: change_user_actual
- name: assert change test environment value for user
assert:
that:
- change_user is changed
- change_user.before_value == test_user_environment_value
- change_user_actual.stdout == "{{test_new_user_environment_value}}\r\n"
- name: change test environment value for user again
win_environment:
name: "{{test_environment_name}}"
value: "{{test_new_user_environment_value}}"
state: present
level: user
register: change_user_again
- name: get value of environment key for user after changing again
win_command: powershell.exe "[Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true).GetValue('{{test_environment_name}}', $null, 'DoNotExpandEnvironmentNames')"
register: change_user_actual_again
- name: assert change test environment value for user again
assert:
that:
- change_user_again is not changed
- change_user_again.before_value == test_new_user_environment_value
- change_user_actual_again.stdout == "{{test_new_user_environment_value}}\r\n"
- name: cleanup test changes
win_environment:
name: "{{test_environment_name}}"
state: absent
level: "{{item}}"
with_items:
- machine
- process
- user