Revision 26288e68 test/ganeti.utils_unittest.py
b/test/ganeti.utils_unittest.py | ||
---|---|---|
47 | 47 |
ShellQuote, ShellQuoteArgs, TcpPing, ListVisibleFiles, \ |
48 | 48 |
SetEtcHostsEntry, RemoveEtcHostsEntry, FirstFree, OwnIpAddress, \ |
49 | 49 |
TailFile, ForceDictType, SafeEncode, IsNormAbsPath, FormatTime, \ |
50 |
UnescapeAndSplit, RunParts, PathJoin |
|
50 |
UnescapeAndSplit, RunParts, PathJoin, HostInfo
|
|
51 | 51 |
|
52 | 52 |
from ganeti.errors import LockError, UnitParseError, GenericError, \ |
53 |
ProgrammerError |
|
53 |
ProgrammerError, OpPrereqError
|
|
54 | 54 |
|
55 | 55 |
|
56 | 56 |
class TestIsProcessAlive(unittest.TestCase): |
... | ... | |
1284 | 1284 |
self.failUnlessRaises(ValueError, PathJoin, "/a", "/b") |
1285 | 1285 |
|
1286 | 1286 |
|
1287 |
class TestHostInfo(unittest.TestCase): |
|
1288 |
"""Testing case for HostInfo""" |
|
1289 |
|
|
1290 |
def testUppercase(self): |
|
1291 |
data = "AbC.example.com" |
|
1292 |
self.failUnlessEqual(HostInfo.NormalizeName(data), data.lower()) |
|
1293 |
|
|
1294 |
def testTooLongName(self): |
|
1295 |
data = "a.b." + "c" * 255 |
|
1296 |
self.failUnlessRaises(OpPrereqError, HostInfo.NormalizeName, data) |
|
1297 |
|
|
1298 |
def testTrailingDot(self): |
|
1299 |
data = "a.b.c" |
|
1300 |
self.failUnlessEqual(HostInfo.NormalizeName(data + "."), data) |
|
1301 |
|
|
1302 |
def testInvalidName(self): |
|
1303 |
data = [ |
|
1304 |
"a b", |
|
1305 |
"a/b", |
|
1306 |
".a.b", |
|
1307 |
"a..b", |
|
1308 |
] |
|
1309 |
for value in data: |
|
1310 |
self.failUnlessRaises(OpPrereqError, HostInfo.NormalizeName, value) |
|
1311 |
|
|
1312 |
def testValidName(self): |
|
1313 |
data = [ |
|
1314 |
"a.b", |
|
1315 |
"a-b", |
|
1316 |
"a_b", |
|
1317 |
"a.b.c", |
|
1318 |
] |
|
1319 |
for value in data: |
|
1320 |
HostInfo.NormalizeName(value) |
|
1321 |
|
|
1322 |
|
|
1323 |
|
|
1287 | 1324 |
if __name__ == '__main__': |
1288 | 1325 |
testutils.GanetiTestProgram() |
Also available in: Unified diff