from mocks import FakeConfig, FakeProc, FakeContext
+import testutils
+
+
class FakeLU(cmdlib.LogicalUnit):
HPATH = "test"
def BuildHooksEnv(self):
return {}, ["localhost"], ["localhost"]
+
class TestHooksRunner(unittest.TestCase):
"""Testing case for HooksRunner"""
def setUp(self):
def testEmpty(self):
"""Test no hooks"""
for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST):
- self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, []))
+ self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), [])
def testSkipNonExec(self):
"""Test skip non-exec file"""
f.close()
self.torm.append((fname, False))
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, [(self._rname(fname), HKR_SKIP, "")]))
+ [(self._rname(fname), HKR_SKIP, "")])
def testSkipInvalidName(self):
"""Test skip script with invalid name"""
os.chmod(fname, 0700)
self.torm.append((fname, False))
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, [(self._rname(fname), HKR_SKIP, "")]))
+ [(self._rname(fname), HKR_SKIP, "")])
def testSkipDir(self):
"""Test skip directory"""
os.mkdir(fname)
self.torm.append((fname, True))
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, [(self._rname(fname), HKR_SKIP, "")]))
+ [(self._rname(fname), HKR_SKIP, "")])
def testSuccess(self):
"""Test success execution"""
self.torm.append((fname, False))
os.chmod(fname, 0700)
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, [(self._rname(fname), HKR_SUCCESS, "")]))
+ [(self._rname(fname), HKR_SUCCESS, "")])
def testSymlink(self):
"""Test running a symlink"""
os.symlink("/bin/true", fname)
self.torm.append((fname, False))
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, [(self._rname(fname), HKR_SUCCESS, "")]))
+ [(self._rname(fname), HKR_SUCCESS, "")])
def testFail(self):
"""Test success execution"""
self.torm.append((fname, False))
os.chmod(fname, 0700)
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, [(self._rname(fname), HKR_FAIL, "")]))
+ [(self._rname(fname), HKR_FAIL, "")])
def testCombined(self):
"""Test success, failure and skip all in one test"""
self.torm.append((fname, False))
os.chmod(fname, 0700)
expect.append((self._rname(fname), rs, ""))
- self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, expect))
+ self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), expect)
def testOrdering(self):
for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST):
self.torm.append((fname, False))
expect.append((self._rname(fname), HKR_SUCCESS, ""))
expect.sort()
- self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}),
- (True, expect))
+ self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), expect)
def testEnv(self):
"""Test environment execution"""
env_snt = {"PHASE": phase}
env_exp = "PHASE=%s" % phase
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt),
- (True, [(self._rname(fname), HKR_SUCCESS,
- env_exp)]))
+ [(self._rname(fname), HKR_SUCCESS, env_exp)])
class TestHooksMaster(unittest.TestCase):
def testTotalFalse(self):
"""Test complete rpc failure"""
- hm = mcpu.HooksMaster(self._call_false, FakeProc(), self.lu)
+ hm = mcpu.HooksMaster(self._call_false, self.lu)
self.failUnlessRaises(errors.HooksFailure,
hm.RunPhase, constants.HOOKS_PHASE_PRE)
hm.RunPhase(constants.HOOKS_PHASE_POST)
def testIndividualFalse(self):
"""Test individual node failure"""
- hm = mcpu.HooksMaster(self._call_nodes_false, FakeProc(), self.lu)
+ hm = mcpu.HooksMaster(self._call_nodes_false, self.lu)
hm.RunPhase(constants.HOOKS_PHASE_PRE)
#self.failUnlessRaises(errors.HooksFailure,
# hm.RunPhase, constants.HOOKS_PHASE_PRE)
def testScriptFalse(self):
"""Test individual rpc failure"""
- hm = mcpu.HooksMaster(self._call_script_fail, FakeProc(), self.lu)
+ hm = mcpu.HooksMaster(self._call_script_fail, self.lu)
self.failUnlessRaises(errors.HooksAbort,
hm.RunPhase, constants.HOOKS_PHASE_PRE)
hm.RunPhase(constants.HOOKS_PHASE_POST)
def testScriptSucceed(self):
"""Test individual rpc failure"""
- hm = mcpu.HooksMaster(self._call_script_succeed, FakeProc(), self.lu)
+ hm = mcpu.HooksMaster(self._call_script_succeed, self.lu)
for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST):
hm.RunPhase(phase)
+
if __name__ == '__main__':
- unittest.main()
+ testutils.GanetiTestProgram()