summaryrefslogtreecommitdiff
path: root/test/integration/targets/win_reg_stat
diff options
context:
space:
mode:
authorJordan Borean <jborean93@gmail.com>2017-02-10 08:47:00 +1000
committerMatt Davis <nitzmahone@users.noreply.github.com>2017-02-09 14:47:00 -0800
commit5cabe420ead0b2ec0993ae6e6663153385f1d64e (patch)
tree15a26f37e2bb5151ed53d05758009d23e3ee1218 /test/integration/targets/win_reg_stat
parent2ac57e0bc3c97660e9d3447479357a6c8fdf705d (diff)
downloadansible-5cabe420ead0b2ec0993ae6e6663153385f1d64e.tar.gz
Added win_reg_stat module (#19145)
Diffstat (limited to 'test/integration/targets/win_reg_stat')
-rw-r--r--test/integration/targets/win_reg_stat/aliases1
-rw-r--r--test/integration/targets/win_reg_stat/files/test_reg.reg24
-rw-r--r--test/integration/targets/win_reg_stat/meta/main.yml2
-rw-r--r--test/integration/targets/win_reg_stat/tasks/main.yml317
4 files changed, 344 insertions, 0 deletions
diff --git a/test/integration/targets/win_reg_stat/aliases b/test/integration/targets/win_reg_stat/aliases
new file mode 100644
index 0000000000..10e03fc2bf
--- /dev/null
+++ b/test/integration/targets/win_reg_stat/aliases
@@ -0,0 +1 @@
+windows/ci/group1
diff --git a/test/integration/targets/win_reg_stat/files/test_reg.reg b/test/integration/targets/win_reg_stat/files/test_reg.reg
new file mode 100644
index 0000000000..64a3fc6971
--- /dev/null
+++ b/test/integration/targets/win_reg_stat/files/test_reg.reg
@@ -0,0 +1,24 @@
+Windows Registry Editor Version 5.00
+
+[HKEY_CURRENT_USER\Test]
+
+[HKEY_CURRENT_USER\Test\nested]
+"string"="test"
+"binary"=hex:01,16
+"dword"=dword:00000001
+"qword"=hex(b):01,00,00,00,00,00,00,00
+"multi"=hex(7):61,00,2c,00,20,00,62,00,00,00,63,00,00,00,00,00
+"expand"=hex(2):25,00,77,00,69,00,6e,00,64,00,69,00,72,00,25,00,5c,00,64,00,69,\
+ 00,72,00,00,00
+
+[HKEY_CURRENT_USER\Test\nested\nest1]
+"dontcare"=""
+
+[HKEY_CURRENT_USER\Test\nested\nest2]
+
+
+[HKEY_CURRENT_USER\Test\single]
+"string1"=""
+"string2"="abc123"
+"none"=hex(0):
+"none1"=hex(0):00
diff --git a/test/integration/targets/win_reg_stat/meta/main.yml b/test/integration/targets/win_reg_stat/meta/main.yml
new file mode 100644
index 0000000000..d328716dfa
--- /dev/null
+++ b/test/integration/targets/win_reg_stat/meta/main.yml
@@ -0,0 +1,2 @@
+dependencies:
+ - prepare_win_tests
diff --git a/test/integration/targets/win_reg_stat/tasks/main.yml b/test/integration/targets/win_reg_stat/tasks/main.yml
new file mode 100644
index 0000000000..82679edbbf
--- /dev/null
+++ b/test/integration/targets/win_reg_stat/tasks/main.yml
@@ -0,0 +1,317 @@
+---
+- 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 key option
+ win_reg_stat:
+ property: a
+ register: actual
+ failed_when: "actual.msg != 'Missing required argument: key'"
+
+- name: expect failure when passing in an invalid hive
+ win_reg_stat:
+ key: ABCD:\test
+ register: actual
+ failed_when: actual.msg != "the hive in key 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:
+ key: HKCU:\Test\nested
+ register: actual_short
+
+- name: get known nested reg key structure for testing with quoted yaml
+ win_reg_stat:
+ key: "HKCU:\\Test\\nested"
+ register: actual_quoted
+
+- name: set expected value for reg structure
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\single
+ register: actual
+
+- name: set expected value for reg key with no sub keys but some properties
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\nested\nest2
+ register: actual
+
+- name: set expected value for reg key without sub keys or properties
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ exists: true
+ properties: {}
+ sub_keys: []
+ register: expected
+
+- name: validate test
+ assert:
+ that:
+ - "actual == expected"
+
+- name: get non-existant reg key
+ win_reg_stat:
+ key: HKCU:\Test\Thispathwillneverexist
+ register: actual
+
+- name: set expected value for non-existant reg key
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ exists: false
+
+- name: validate test
+ assert:
+ that:
+ - "actual == expected"
+
+- name: get string property
+ win_reg_stat:
+ key: HKCU:\Test\nested
+ property: string
+ register: actual
+
+- name: set expected string property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\nested
+ property: expand
+ register: actual
+
+- name: set expected expand string property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\nested
+ property: multi
+ register: actual
+
+- name: set expected multi string property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\nested
+ property: binary
+ register: actual
+
+- name: set expected binary property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\nested
+ property: dword
+ register: actual
+
+- name: set expected dword property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ exists: true
+ raw_value: 1
+ type: 'REG_DWORD'
+ value: 1
+
+- name: validate test
+ assert:
+ that:
+ - "actual == expected"
+
+- name: get qword property
+ win_reg_stat:
+ key: HKCU:\Test\nested
+ property: qword
+ register: actual
+
+- name: set expected qword property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ exists: true
+ raw_value: 1
+ type: 'REG_QWORD'
+ value: 1
+
+- name: validate test
+ assert:
+ that:
+ - "actual == expected"
+
+- name: get none property
+ win_reg_stat:
+ key: HKCU:\Test\single
+ property: none
+ register: actual
+
+- name: set expected none property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ exists: true
+ raw_value: []
+ type: 'REG_NONE'
+ value: []
+
+- name: validate test
+ assert:
+ that:
+ - "actual == expected"
+
+- name: get none with value property
+ win_reg_stat:
+ key: HKCU:\Test\single
+ property: none1
+ register: actual
+
+- name: set expected none with value property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ 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:
+ key: HKCU:\Test\single
+ property: doesnotexist
+ register: actual
+
+- name: set expected non-existance property
+ set_fact:
+ expected:
+ changed: false
+ win_reg_stat:
+ exists: false
+
+- name: validate test
+ assert:
+ that:
+ - "actual == expected"
+
+- name: remove registry entry
+ win_regedit:
+ key: HKCU:\Test
+ state: absent