def setUp(self): self.i = FuncIntellect()
class TestFuncIntellect(unittest.TestCase): def setUp(self): self.i = FuncIntellect() def testGetIntellectPath(self): """ Создаём фейковый параметр в реестре и тестируем на нём. Тестируем для разных платформ: """ # Создаём временный ключ реестра для испытаний: self.i.regPath = "SOFTWARE\\Kirs_temp" handle = _winreg.CreateKey(_winreg.HKEY_LOCAL_MACHINE, self.i.regPath) # Тесты: _winreg.SetValueEx(handle, "InstallPath", 0, _winreg.REG_SZ, "Z:\\fff\\xxx.exe") self.assertEquals(self.i.getIntellectPath(), "Z:\\fff\\xxx.exe") # При существующем параметре с корректным именем. _winreg.SetValueEx(handle, "InstallPath", 0, _winreg.REG_SZ, "Alskd;Test") self.assertRaises(ValueError, self.i.getIntellectPath) # При некорректном параметре. _winreg.DeleteValue(handle, "InstallPath") self.assertEquals(self.i.getIntellectPath(), None) # При отсутсвующем параметре. # Очищаем параметры. _winreg.CloseKey(handle) _winreg.DeleteKey(_winreg.HKEY_LOCAL_MACHINE, self.i.regPath) def testGetIntellectType(self): # Создаём временный ключ реестра для испытаний: self.i.regPath = "SOFTWARE\\Kirs_temp" handle = _winreg.CreateKey(_winreg.HKEY_LOCAL_MACHINE, self.i.regPath) # Тесты: _winreg.SetValueEx(handle, "InstallType", 0, _winreg.REG_SZ, "server") self.assertEquals(self.i.getIntellectType(), "server") # При существующем параметре с корректным именем. _winreg.SetValueEx(handle, "InstallType", 0, _winreg.REG_SZ, "Alskd;Test") self.assertRaises(ValueError, self.i.getIntellectType) # При некорректном параметре. _winreg.DeleteValue(handle, "InstallType") self.assertEquals(self.i.getIntellectType(), None) # При отсутсвующем параметре. # Очищаем параметры. _winreg.CloseKey(handle) _winreg.DeleteKey(_winreg.HKEY_LOCAL_MACHINE, self.i.regPath) def testGetIntellectVersion(self): # Создаём временный ключ реестра для испытаний: self.i.regPath = "SOFTWARE\\Kirs_temp" handle = _winreg.CreateKey(_winreg.HKEY_LOCAL_MACHINE, self.i.regPath) # Тесты: _winreg.SetValueEx(handle, "InstallVersion", 0, _winreg.REG_SZ, "4.7.8.123") self.assertEquals(self.i.getIntellectVersion(), "4.7.8.123") # При существующем параметре с корректным именем. _winreg.SetValueEx(handle, "InstallVersion", 0, _winreg.REG_SZ, "Alskd;Test") self.assertRaises(ValueError, self.i.getIntellectVersion) # При некорректном параметре. _winreg.DeleteValue(handle, "InstallVersion") self.assertEquals(self.i.getIntellectVersion(), None) # При отсутсвующем параметре. # Очищаем параметры. _winreg.CloseKey(handle) _winreg.DeleteKey(_winreg.HKEY_LOCAL_MACHINE, self.i.regPath) def testGetIntellectExecState(self): class tempClass: # Временный класс для подмены используемых тестируемым методом методов. def __init__(self): self.processList = [] self.intellectType = "" def getProcessList(self): return self.processList def getIntellectType(self): return self.intellectType temp = tempClass() # Переназначение используемым методом вспомогательных методов: self.i.getProcessList = temp.getProcessList self.i.getIntellectType = temp.getIntellectType # Тесты: temp.processList = ["1.exe", "intellect.exe", "slave.exe", "2.exe"] temp.intellectType = "server" self.assertEquals(self.i.getIntellectExecState(), "server") temp.intellectType = "admin" self.assertEquals(self.i.getIntellectExecState(), "admin") temp.intellectType = "client" self.assertEquals(self.i.getIntellectExecState(), "client") # temp.processList = ["1.exe", "slave.exe", "2.exe"] temp.intellectType = "server" self.assertEquals(self.i.getIntellectExecState(), "client") temp.intellectType = "admin" self.assertEquals(self.i.getIntellectExecState(), "client") temp.intellectType = "client" self.assertEquals(self.i.getIntellectExecState(), "client") # temp.processList = ["1.exe", "intellect.exe", "2.exe"] temp.intellectType = "server" self.assertEquals(self.i.getIntellectExecState(), "server") temp.intellectType = "admin" self.assertEquals(self.i.getIntellectExecState(), "admin") temp.intellectType = "client" self.assertEquals(self.i.getIntellectExecState(), "client") # temp.processList = ["1.exe", "2.exe"] temp.intellectType = "server" self.assertEquals(self.i.getIntellectExecState(), None) temp.intellectType = "admin" self.assertEquals(self.i.getIntellectExecState(), None) temp.intellectType = "client" self.assertEquals(self.i.getIntellectExecState(), None)