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