mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
bc806ff479
Simplified the logic, and fix the issue of having a nested list as entry. Also indicate that we deliberately want to retain $null values (and i.e. do not want them to be turned into a boolean).
309 lines
6.6 KiB
YAML
309 lines
6.6 KiB
YAML
---
|
|
- name: test
|
|
win_file:
|
|
path: "{{win_output_dir}}"
|
|
state: absent
|
|
|
|
- name: make sure win output dir exists
|
|
win_file:
|
|
path: "{{win_output_dir}}"
|
|
state: directory
|
|
|
|
- name: template out test registry structure
|
|
win_copy:
|
|
src: test_reg.reg
|
|
dest: "{{win_output_dir}}\\raw_test_reg.reg"
|
|
|
|
- name: convert the line endings to the windows variant
|
|
win_shell: Get-Content "{{win_output_dir}}\raw_test_reg.reg" | Set-Content "{{win_output_dir}}\test_reg.reg"
|
|
|
|
- name: import test registry structure
|
|
win_regmerge:
|
|
path: "{{win_output_dir}}\\test_reg.reg"
|
|
|
|
- name: get value of expand string %windir%
|
|
win_command: powershell.exe $env:windir
|
|
register: win_dir_value
|
|
|
|
- name: expect failure when not passing in path option
|
|
win_reg_stat:
|
|
name: a
|
|
register: actual
|
|
failed_when: "actual.msg != 'Get-AnsibleParam: Missing required argument: path'"
|
|
|
|
- name: expect failure when passing in an invalid hive
|
|
win_reg_stat:
|
|
path: ABCD:\test
|
|
register: actual
|
|
failed_when: actual.msg != "the hive in path is 'ABCD'; must be 'HKCR', 'HKCC', 'HKCU', 'HKLM' or 'HKU'"
|
|
|
|
- name: get known nested reg key structure for testing with short hive form
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
register: actual_short
|
|
|
|
- name: get known nested reg key structure for testing with quoted yaml
|
|
win_reg_stat:
|
|
path: "HKCU:\\Test\\nested"
|
|
register: actual_quoted
|
|
|
|
- name: set expected value for reg structure
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
properties:
|
|
binary: { raw_value: ["0x01", "0x16"], type: 'REG_BINARY', value: [1, 22] }
|
|
dword: { raw_value: 1, type: 'REG_DWORD', value: 1 }
|
|
expand: { raw_value: '%windir%\dir', type: 'REG_EXPAND_SZ', value: "{{win_dir_value.stdout_lines[0]}}\\dir" }
|
|
multi: { raw_value: ['a, b', 'c'], type: 'REG_MULTI_SZ', value: ['a, b', 'c'] }
|
|
qword: { raw_value: 1, type: 'REG_QWORD', value: 1 }
|
|
string: { raw_value: 'test', type: 'REG_SZ', value: 'test' }
|
|
sub_keys:
|
|
- nest1
|
|
- nest2
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual_short == expected"
|
|
- "actual_quoted == expected"
|
|
|
|
- name: get known reg key with no sub keys but some properties
|
|
win_reg_stat:
|
|
path: HKCU:\Test\single
|
|
register: actual
|
|
|
|
- name: set expected value for reg key with no sub keys but some properties
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
properties:
|
|
none: { raw_value: [], type: 'REG_NONE', value: [] }
|
|
none1: { raw_value: ["0x00"], type: 'REG_NONE', value: [0] }
|
|
string1: { raw_value: '', type: 'REG_SZ', value: '' }
|
|
string2: { raw_value: 'abc123', type: 'REG_SZ', value: 'abc123' }
|
|
sub_keys: []
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get known reg key without sub keys and properties
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested\nest2
|
|
register: actual
|
|
|
|
- name: set expected value for reg key without sub keys or properties
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
properties: {}
|
|
sub_keys: []
|
|
register: expected
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get non-existant reg key
|
|
win_reg_stat:
|
|
path: HKCU:\Test\Thispathwillneverexist
|
|
register: actual
|
|
|
|
- name: set expected value for non-existant reg key
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: false
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get string property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
name: string
|
|
register: actual
|
|
|
|
- name: set expected string property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: 'test'
|
|
type: 'REG_SZ'
|
|
value: 'test'
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get expand string property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
name: expand
|
|
register: actual
|
|
|
|
- name: set expected expand string property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: '%windir%\dir'
|
|
type: 'REG_EXPAND_SZ'
|
|
value: "{{win_dir_value.stdout_lines[0]}}\\dir"
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get multi string property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
name: multi
|
|
register: actual
|
|
|
|
- name: set expected multi string property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: ['a, b', 'c']
|
|
type: 'REG_MULTI_SZ'
|
|
value: ['a, b', 'c']
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get binary property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
name: binary
|
|
register: actual
|
|
|
|
- name: set expected binary property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: ["0x01", "0x16"]
|
|
type: 'REG_BINARY'
|
|
value: [1, 22]
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get dword property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
name: dword
|
|
register: actual
|
|
|
|
- name: set expected dword property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: 1
|
|
type: 'REG_DWORD'
|
|
value: 1
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get qword property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\nested
|
|
name: qword
|
|
register: actual
|
|
|
|
- name: set expected qword property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: 1
|
|
type: 'REG_QWORD'
|
|
value: 1
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get none property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\single
|
|
name: none
|
|
register: actual
|
|
|
|
- name: set expected none property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: []
|
|
type: 'REG_NONE'
|
|
value: []
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get none with value property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\single
|
|
name: none1
|
|
register: actual
|
|
|
|
- name: set expected none with value property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: true
|
|
raw_value: ["0x00"]
|
|
type: 'REG_NONE'
|
|
value: [0]
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: get non-existance property
|
|
win_reg_stat:
|
|
path: HKCU:\Test\single
|
|
name: doesnotexist
|
|
register: actual
|
|
|
|
- name: set expected non-existance property
|
|
set_fact:
|
|
expected:
|
|
changed: false
|
|
exists: false
|
|
|
|
- name: validate test
|
|
assert:
|
|
that:
|
|
- "actual == expected"
|
|
|
|
- name: remove registry entry
|
|
win_regedit:
|
|
path: HKCU:\Test
|
|
state: absent
|