mirror of
https://github.com/valitydev/salt.git
synced 2024-11-07 08:58:59 +00:00
Adding Reg.py unit test cases
This commit is contained in:
parent
20d8f757dd
commit
7ef848edc1
202
tests/unit/modules/reg_test.py
Normal file
202
tests/unit/modules/reg_test.py
Normal file
@ -0,0 +1,202 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
'''
|
||||||
|
:codeauthor: :email:`Rahul Handay <rahulha@saltstack.com>`
|
||||||
|
'''
|
||||||
|
|
||||||
|
# Import Python libs
|
||||||
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
# Import Salt Testing Libs
|
||||||
|
from salttesting import TestCase, skipIf
|
||||||
|
from salttesting.helpers import ensure_in_syspath
|
||||||
|
from salttesting.mock import (
|
||||||
|
NO_MOCK,
|
||||||
|
NO_MOCK_REASON
|
||||||
|
)
|
||||||
|
|
||||||
|
ensure_in_syspath('../../')
|
||||||
|
|
||||||
|
# Import Salt Libs
|
||||||
|
from salt.modules import reg
|
||||||
|
|
||||||
|
|
||||||
|
class MockWinReg(object):
|
||||||
|
'''
|
||||||
|
Mock class of winreg
|
||||||
|
'''
|
||||||
|
HKEY_USERS = "HKEY_USERS"
|
||||||
|
HKEY_CURRENT_USER = "HKEY_CURRENT_USER"
|
||||||
|
HKEY_LOCAL_MACHINE = "HKEY_LOCAL_MACHINE"
|
||||||
|
KEY_ALL_ACCESS = True
|
||||||
|
KEY_WOW64_64KEY = False
|
||||||
|
flag = None
|
||||||
|
flag1 = None
|
||||||
|
flag2 = None
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def OpenKeyEx(self, hkey2, path, bol, access_mask):
|
||||||
|
'''
|
||||||
|
Mock openKeyEx method
|
||||||
|
'''
|
||||||
|
if self.flag:
|
||||||
|
return hkey2, path, bol, access_mask
|
||||||
|
else:
|
||||||
|
raise Exception("Error")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def QueryValueEx(handle, key):
|
||||||
|
'''
|
||||||
|
Mock QueryValueEx method
|
||||||
|
'''
|
||||||
|
return [handle, key]
|
||||||
|
|
||||||
|
def OpenKey(self, hkey2, path, bol, access_mask):
|
||||||
|
'''
|
||||||
|
Mock OpenKey Mothod
|
||||||
|
'''
|
||||||
|
if self.flag:
|
||||||
|
return hkey2, path, bol, access_mask
|
||||||
|
else:
|
||||||
|
raise Exception("Error")
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def SetValueEx(handle, key, bol, _type, value):
|
||||||
|
'''
|
||||||
|
Mock SetValueEx method
|
||||||
|
'''
|
||||||
|
return handle, key, bol, _type, value
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def CloseKey(handle):
|
||||||
|
'''
|
||||||
|
Mock CloseKey method
|
||||||
|
'''
|
||||||
|
return handle
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def CreateKeyEx(hkey2, path, bol, access_mask):
|
||||||
|
'''
|
||||||
|
Mock CreateKeyEx method
|
||||||
|
'''
|
||||||
|
return hkey2, path, bol, access_mask
|
||||||
|
|
||||||
|
def DeleteKeyEx(self, handle, key):
|
||||||
|
'''
|
||||||
|
Mock DeleteKeyEx method
|
||||||
|
'''
|
||||||
|
if self.flag1:
|
||||||
|
return handle, key
|
||||||
|
else:
|
||||||
|
raise Exception("Error")
|
||||||
|
|
||||||
|
def DeleteValue(self, handle, key):
|
||||||
|
'''
|
||||||
|
Mock DeleteValue
|
||||||
|
'''
|
||||||
|
if self.flag2:
|
||||||
|
return handle, key
|
||||||
|
else:
|
||||||
|
raise Exception("Error")
|
||||||
|
|
||||||
|
reg._winreg = MockWinReg()
|
||||||
|
|
||||||
|
|
||||||
|
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
||||||
|
class RegTestCase(TestCase):
|
||||||
|
'''
|
||||||
|
Test cases for salt.modules.reg
|
||||||
|
'''
|
||||||
|
def test_read_key(self):
|
||||||
|
'''
|
||||||
|
Test to read registry key value
|
||||||
|
'''
|
||||||
|
MockWinReg.flag = False
|
||||||
|
self.assertEqual(reg.read_key("HKEY_LOCAL_MACHINE",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"),
|
||||||
|
None)
|
||||||
|
|
||||||
|
MockWinReg.flag = True
|
||||||
|
self.assertTrue(reg.read_key("HKEY_LOCAL_MACHINE",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"))
|
||||||
|
|
||||||
|
def test_set_key(self):
|
||||||
|
'''
|
||||||
|
Test to set a registry key
|
||||||
|
'''
|
||||||
|
self.assertFalse(reg.set_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0",
|
||||||
|
"0.97")
|
||||||
|
)
|
||||||
|
|
||||||
|
MockWinReg.flag = True
|
||||||
|
self.assertTrue(reg.set_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0",
|
||||||
|
"0.97",
|
||||||
|
"OpenKey")
|
||||||
|
)
|
||||||
|
|
||||||
|
MockWinReg.flag = False
|
||||||
|
self.assertTrue(reg.set_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0",
|
||||||
|
"0.97",
|
||||||
|
"OpenKey")
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_create_key(self):
|
||||||
|
'''
|
||||||
|
Test to Create a registry key
|
||||||
|
'''
|
||||||
|
MockWinReg.flag = True
|
||||||
|
self.assertTrue(reg.create_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
MockWinReg.flag = False
|
||||||
|
self.assertTrue(reg.create_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
def test_delete_key(self):
|
||||||
|
'''
|
||||||
|
Test to delete key
|
||||||
|
'''
|
||||||
|
MockWinReg.flag = True
|
||||||
|
MockWinReg.flag1 = True
|
||||||
|
self.assertTrue(reg.delete_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
MockWinReg.flag = True
|
||||||
|
MockWinReg.flag1 = False
|
||||||
|
MockWinReg.flag2 = False
|
||||||
|
self.assertFalse(reg.delete_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
MockWinReg.flag = True
|
||||||
|
MockWinReg.flag1 = False
|
||||||
|
MockWinReg.flag2 = True
|
||||||
|
self.assertTrue(reg.delete_key("HKEY_CURRENT_USER",
|
||||||
|
"SOFTWARE\\Salt",
|
||||||
|
"2014.7.0"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
from integration import run_tests
|
||||||
|
run_tests(RegTestCase, needs_daemon=False)
|
Loading…
Reference in New Issue
Block a user