Esempio n. 1
0
 def test_set_value_unicode(self):
     '''
     Test - set a registry plain text subkey name to a unicode string value
     '''
     vname = 'TestUniccodeString'
     subkey = 'Software\\SaltStackTest'
     test1_success = False
     test2_success = False
     test1_success = win_mod_reg.set_value(
                         'HKEY_LOCAL_MACHINE',
                         subkey,
                         vname,
                         UNICODETEST_WITH_SIGNS
                         )
     # Now use _winreg direct to see if it worked as expected
     if test1_success:
         handle = _winreg.OpenKey(
                     _winreg.HKEY_LOCAL_MACHINE,
                     subkey,
                     0,
                     _winreg.KEY_ALL_ACCESS
                     )
         (current_vdata, dummy_current_vtype) = _winreg.QueryValueEx(handle, vname)
         _winreg.CloseKey(handle)
     test2_success = (current_vdata == UNICODETEST_WITH_SIGNS)
     self.assertTrue(test1_success and test2_success)
Esempio n. 2
0
 def test_set_value_unicode_key(self):
     '''
     Test - set a registry Unicode subkey name with unicode characters within
     to a integer
     '''
     test_success = win_mod_reg.set_value(
                     'HKEY_LOCAL_MACHINE',
                     'Software\\SaltStackTest',
                     UNICODE_TEST_KEY,
                     TIMEINT,
                     'REG_DWORD'
                     )
     self.assertTrue(test_success)
Esempio n. 3
0
 def test_delete_value(self):
     '''
     Test the delete_value function
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vname='fake_name',
                           vdata='fake_data'))
         self.assertTrue(
             reg.delete_value(hive='HKLM', key=FAKE_KEY, vname='fake_name'))
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 4
0
 def test_delete_value_unicode_vname(self):
     """
     Test the delete_value function on a unicode vname
     """
     try:
         self.assertTrue(
             reg.set_value(hive="HKLM",
                           key=FAKE_KEY,
                           vname=UNICODE_KEY,
                           vdata="junk data"))
         self.assertTrue(
             reg.delete_value(hive="HKLM", key=FAKE_KEY, vname=UNICODE_KEY))
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 5
0
 def test_delete_value(self):
     """
     Test the delete_value function
     """
     try:
         self.assertTrue(
             reg.set_value(hive="HKLM",
                           key=FAKE_KEY,
                           vname="fake_name",
                           vdata="fake_data"))
         self.assertTrue(
             reg.delete_value(hive="HKLM", key=FAKE_KEY, vname="fake_name"))
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 6
0
 def test_set_value_open_create_failure(self):
     """
     Test the set_value function when there is a problem opening/creating
     the key
     """
     mock_error = MagicMock(
         side_effect=win32api.error(123, "RegCreateKeyEx", "Unknown error")
     )
     with patch("salt.utils.win_reg.win32api.RegCreateKeyEx", mock_error):
         self.assertFalse(
             reg.set_value(
                 hive="HKLM", key=FAKE_KEY, vname="fake_name", vdata="fake_data"
             )
         )
Esempio n. 7
0
 def test_delete_value_unicode_vname(self):
     '''
     Test the delete_value function on a unicode vname
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vname=UNICODE_KEY,
                           vdata='junk data'))
         self.assertTrue(
             reg.delete_value(hive='HKLM', key=FAKE_KEY, vname=UNICODE_KEY))
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 8
0
 def test_delete_value_unicode_key(self):
     '''
     Test the delete_value function on a unicode key
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key='\\'.join([FAKE_KEY, UNICODE_KEY]),
                           vname='fake_name',
                           vdata='junk data'))
         self.assertTrue(
             reg.delete_value(hive='HKLM',
                              key='\\'.join([FAKE_KEY, UNICODE_KEY]),
                              vname='fake_name'))
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 9
0
 def test_delete_key_recursive(self):
     """
     Test the delete_key_recursive function
     """
     try:
         self.assertTrue(
             reg.set_value(
                 hive="HKLM", key=FAKE_KEY, vname="fake_name", vdata="fake_value"
             )
         )
         expected = {"Deleted": ["\\".join(["HKLM", FAKE_KEY])], "Failed": []}
         self.assertDictEqual(
             reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY), expected
         )
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 10
0
 def test_delete_key_recursive(self):
     '''
     Test the delete_key_recursive function
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vname='fake_name',
                           vdata='fake_value'))
         expected = {
             'Deleted': ['\\'.join(['HKLM', FAKE_KEY])],
             'Failed': []
         }
         self.assertDictEqual(
             reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY), expected)
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 11
0
 def test_set_value_unicode(self):
     '''
     Test - set a registry plain text subkey name to a unicode string value
     '''
     vname = 'TestUniccodeString'
     subkey = 'Software\\SaltStackTest'
     test1_success = False
     test2_success = False
     test1_success = win_mod_reg.set_value('HKEY_LOCAL_MACHINE', subkey,
                                           vname, UNICODETEST_WITH_SIGNS)
     # Now use _winreg direct to see if it worked as expected
     if test1_success:
         handle = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, subkey, 0,
                                  _winreg.KEY_ALL_ACCESS)
         (current_vdata,
          dummy_current_vtype) = _winreg.QueryValueEx(handle, vname)
         _winreg.CloseKey(handle)
     test2_success = (current_vdata == UNICODETEST_WITH_SIGNS)
     self.assertTrue(test1_success and test2_success)
Esempio n. 12
0
 def test_set_value_default(self):
     """
     Test the set_value function on the default value
     """
     try:
         self.assertTrue(
             reg.set_value(hive="HKLM", key=FAKE_KEY, vdata="fake_default_data")
         )
         expected = {
             "hive": "HKLM",
             "key": FAKE_KEY,
             "success": True,
             "vdata": "fake_default_data",
             "vname": "(Default)",
             "vtype": "REG_SZ",
         }
         self.assertEqual(reg.read_value(hive="HKLM", key=FAKE_KEY), expected)
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 13
0
 def test_delete_value_unicode_key(self):
     """
     Test the delete_value function on a unicode key
     """
     try:
         self.assertTrue(
             reg.set_value(
                 hive="HKLM",
                 key="\\".join([FAKE_KEY, UNICODE_KEY]),
                 vname="fake_name",
                 vdata="junk data",
             ))
         self.assertTrue(
             reg.delete_value(
                 hive="HKLM",
                 key="\\".join([FAKE_KEY, UNICODE_KEY]),
                 vname="fake_name",
             ))
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 14
0
 def test_delete_key_recursive_failed_to_delete(self):
     '''
     Test the delete_key_recursive function on failure to delete a key
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vname='fake_name',
                           vdata='fake_value'))
         expected = {
             'Deleted': [],
             'Failed': ['\\'.join(['HKLM', FAKE_KEY]) + ' Unknown error']
         }
         mock_error = MagicMock(side_effect=WindowsError('Unknown error'))  # pylint: disable=undefined-variable
         with patch('salt.utils.win_reg.win32api.RegDeleteKey', mock_error):
             self.assertDictEqual(
                 reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY),
                 expected)
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 15
0
 def test_set_value_default(self):
     '''
     Test the set_value function on the default value
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vdata='fake_default_data'))
         expected = {
             'hive': 'HKLM',
             'key': FAKE_KEY,
             'success': True,
             'vdata': 'fake_default_data',
             'vname': '(Default)',
             'vtype': 'REG_SZ'
         }
         self.assertEqual(reg.read_value(hive='HKLM', key=FAKE_KEY),
                          expected)
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 16
0
 def test_set_value_unicode_value(self):
     '''
     Test the set_value function on a unicode value
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vname='fake_unicode',
                           vdata=UNICODE_VALUE))
         expected = {
             'hive': 'HKLM',
             'key': FAKE_KEY,
             'success': True,
             'vdata': UNICODE_VALUE,
             'vname': 'fake_unicode',
             'vtype': 'REG_SZ'
         }
         self.assertEqual(
             reg.read_value(hive='HKLM', key=FAKE_KEY,
                            vname='fake_unicode'), expected)
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 17
0
 def test_delete_key_recursive_failed_to_delete(self):
     """
     Test the delete_key_recursive function on failure to delete a key
     """
     try:
         self.assertTrue(
             reg.set_value(hive="HKLM",
                           key=FAKE_KEY,
                           vname="fake_name",
                           vdata="fake_value"))
         expected = {
             "Deleted": [],
             "Failed": ["\\".join(["HKLM", FAKE_KEY]) + " Unknown error"],
         }
         # pylint: disable=undefined-variable
         mock_error = MagicMock(side_effect=WindowsError("Unknown error"))
         # pylint: enable=undefined-variable
         with patch("salt.utils.win_reg.win32api.RegDeleteKey", mock_error):
             self.assertDictEqual(
                 reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY),
                 expected)
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 18
0
 def test_set_value_reg_qword(self):
     '''
     Test the set_value function on a REG_QWORD value
     '''
     try:
         self.assertTrue(
             reg.set_value(hive='HKLM',
                           key=FAKE_KEY,
                           vname='qword_value',
                           vdata=123,
                           vtype='REG_QWORD'))
         expected = {
             'hive': 'HKLM',
             'key': FAKE_KEY,
             'success': True,
             'vdata': 123,
             'vname': 'qword_value',
             'vtype': 'REG_QWORD'
         }
         self.assertEqual(
             reg.read_value(hive='HKLM', key=FAKE_KEY, vname='qword_value'),
             expected)
     finally:
         reg.delete_key_recursive(hive='HKLM', key=FAKE_KEY)
Esempio n. 19
0
 def test_delete_key_recursive_unicode(self):
     """
     Test the delete_key_recursive function on value within a unicode key
     """
     try:
         self.assertTrue(
             reg.set_value(
                 hive="HKLM",
                 key="\\".join([FAKE_KEY, UNICODE_KEY]),
                 vname="fake_name",
                 vdata="fake_value",
             ))
         expected = {
             "Deleted": ["\\".join(["HKLM", FAKE_KEY, UNICODE_KEY])],
             "Failed": [],
         }
         self.assertDictEqual(
             reg.delete_key_recursive(hive="HKLM",
                                      key="\\".join([FAKE_KEY,
                                                     UNICODE_KEY])),
             expected,
         )
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)
Esempio n. 20
0
 def test_set_value_unicode_value(self):
     """
     Test the set_value function on a unicode value
     """
     try:
         self.assertTrue(
             reg.set_value(
                 hive="HKLM", key=FAKE_KEY, vname="fake_unicode", vdata=UNICODE_VALUE
             )
         )
         expected = {
             "hive": "HKLM",
             "key": FAKE_KEY,
             "success": True,
             "vdata": UNICODE_VALUE,
             "vname": "fake_unicode",
             "vtype": "REG_SZ",
         }
         self.assertEqual(
             reg.read_value(hive="HKLM", key=FAKE_KEY, vname="fake_unicode"),
             expected,
         )
     finally:
         reg.delete_key_recursive(hive="HKLM", key=FAKE_KEY)