---
- 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 != "state is present but all of the following are missing: value"'
- 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_empty_string.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