Revision d019f8bd test/ganeti.hooks_unittest.py
b/test/ganeti.hooks_unittest.py | ||
---|---|---|
75 | 75 |
def testEmpty(self): |
76 | 76 |
"""Test no hooks""" |
77 | 77 |
for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST): |
78 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
|
79 |
(True, [])) |
|
78 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), []) |
|
80 | 79 |
|
81 | 80 |
def testSkipNonExec(self): |
82 | 81 |
"""Test skip non-exec file""" |
... | ... | |
86 | 85 |
f.close() |
87 | 86 |
self.torm.append((fname, False)) |
88 | 87 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
89 |
(True, [(self._rname(fname), HKR_SKIP, "")]))
|
|
88 |
[(self._rname(fname), HKR_SKIP, "")])
|
|
90 | 89 |
|
91 | 90 |
def testSkipInvalidName(self): |
92 | 91 |
"""Test skip script with invalid name""" |
... | ... | |
98 | 97 |
os.chmod(fname, 0700) |
99 | 98 |
self.torm.append((fname, False)) |
100 | 99 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
101 |
(True, [(self._rname(fname), HKR_SKIP, "")]))
|
|
100 |
[(self._rname(fname), HKR_SKIP, "")])
|
|
102 | 101 |
|
103 | 102 |
def testSkipDir(self): |
104 | 103 |
"""Test skip directory""" |
... | ... | |
107 | 106 |
os.mkdir(fname) |
108 | 107 |
self.torm.append((fname, True)) |
109 | 108 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
110 |
(True, [(self._rname(fname), HKR_SKIP, "")]))
|
|
109 |
[(self._rname(fname), HKR_SKIP, "")])
|
|
111 | 110 |
|
112 | 111 |
def testSuccess(self): |
113 | 112 |
"""Test success execution""" |
... | ... | |
119 | 118 |
self.torm.append((fname, False)) |
120 | 119 |
os.chmod(fname, 0700) |
121 | 120 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
122 |
(True, [(self._rname(fname), HKR_SUCCESS, "")]))
|
|
121 |
[(self._rname(fname), HKR_SUCCESS, "")])
|
|
123 | 122 |
|
124 | 123 |
def testSymlink(self): |
125 | 124 |
"""Test running a symlink""" |
... | ... | |
128 | 127 |
os.symlink("/bin/true", fname) |
129 | 128 |
self.torm.append((fname, False)) |
130 | 129 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
131 |
(True, [(self._rname(fname), HKR_SUCCESS, "")]))
|
|
130 |
[(self._rname(fname), HKR_SUCCESS, "")])
|
|
132 | 131 |
|
133 | 132 |
def testFail(self): |
134 | 133 |
"""Test success execution""" |
... | ... | |
140 | 139 |
self.torm.append((fname, False)) |
141 | 140 |
os.chmod(fname, 0700) |
142 | 141 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
143 |
(True, [(self._rname(fname), HKR_FAIL, "")]))
|
|
142 |
[(self._rname(fname), HKR_FAIL, "")])
|
|
144 | 143 |
|
145 | 144 |
def testCombined(self): |
146 | 145 |
"""Test success, failure and skip all in one test""" |
... | ... | |
157 | 156 |
self.torm.append((fname, False)) |
158 | 157 |
os.chmod(fname, 0700) |
159 | 158 |
expect.append((self._rname(fname), rs, "")) |
160 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
|
161 |
(True, expect)) |
|
159 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), expect) |
|
162 | 160 |
|
163 | 161 |
def testOrdering(self): |
164 | 162 |
for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST): |
... | ... | |
174 | 172 |
self.torm.append((fname, False)) |
175 | 173 |
expect.append((self._rname(fname), HKR_SUCCESS, "")) |
176 | 174 |
expect.sort() |
177 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), |
|
178 |
(True, expect)) |
|
175 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), expect) |
|
179 | 176 |
|
180 | 177 |
def testEnv(self): |
181 | 178 |
"""Test environment execution""" |
... | ... | |
187 | 184 |
env_snt = {"PHASE": phase} |
188 | 185 |
env_exp = "PHASE=%s" % phase |
189 | 186 |
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt), |
190 |
(True, [(self._rname(fname), HKR_SUCCESS, |
|
191 |
env_exp)])) |
|
187 |
[(self._rname(fname), HKR_SUCCESS, env_exp)]) |
|
192 | 188 |
|
193 | 189 |
|
194 | 190 |
class TestHooksMaster(unittest.TestCase): |
Also available in: Unified diff