38 |
38 |
import warnings
|
39 |
39 |
import distutils.version
|
40 |
40 |
import glob
|
|
41 |
import md5
|
41 |
42 |
|
42 |
43 |
import ganeti
|
43 |
44 |
import testutils
|
... | ... | |
516 |
517 |
None)
|
517 |
518 |
|
518 |
519 |
|
|
520 |
class TestReadFile(testutils.GanetiTestCase):
|
|
521 |
def setUp(self):
|
|
522 |
testutils.GanetiTestCase.setUp(self)
|
|
523 |
|
|
524 |
self.tmpdir = tempfile.mkdtemp()
|
|
525 |
self.fname = utils.PathJoin(self.tmpdir, "data1")
|
|
526 |
|
|
527 |
def tearDown(self):
|
|
528 |
testutils.GanetiTestCase.tearDown(self)
|
|
529 |
|
|
530 |
shutil.rmtree(self.tmpdir)
|
|
531 |
|
|
532 |
def testReadAll(self):
|
|
533 |
data = utils.ReadFile(self._TestDataFilename("cert1.pem"))
|
|
534 |
self.assertEqual(len(data), 814)
|
|
535 |
|
|
536 |
h = md5.new()
|
|
537 |
h.update(data)
|
|
538 |
self.assertEqual(h.hexdigest(), "a491efb3efe56a0535f924d5f8680fd4")
|
|
539 |
|
|
540 |
def testReadSize(self):
|
|
541 |
data = utils.ReadFile(self._TestDataFilename("cert1.pem"),
|
|
542 |
size=100)
|
|
543 |
self.assertEqual(len(data), 100)
|
|
544 |
|
|
545 |
h = md5.new()
|
|
546 |
h.update(data)
|
|
547 |
self.assertEqual(h.hexdigest(), "893772354e4e690b9efd073eed433ce7")
|
|
548 |
|
|
549 |
def testReadOneline(self):
|
|
550 |
data = utils.ReadFile(self._TestDataFilename("cert1.pem"),
|
|
551 |
oneline=True)
|
|
552 |
self.assertEqual(len(data), 27)
|
|
553 |
self.assertEqual(data, "-----BEGIN CERTIFICATE-----")
|
|
554 |
|
|
555 |
def testReadOnelineSize(self):
|
|
556 |
dummydata = (1024 * "Hello World! ")
|
|
557 |
self.assertFalse(set("\r\n") & set(dummydata))
|
|
558 |
|
|
559 |
utils.WriteFile(self.fname, data=dummydata)
|
|
560 |
|
|
561 |
data = utils.ReadFile(self.fname, oneline=True, size=555)
|
|
562 |
self.assertEqual(len(data), 555)
|
|
563 |
self.assertEqual(data, dummydata[:555])
|
|
564 |
self.assertFalse(set("\r\n") & set(data))
|
|
565 |
|
|
566 |
def testReadOnelineSize2(self):
|
|
567 |
for end in ["\n", "\r\n"]:
|
|
568 |
dummydata = (1024 * ("Hello World%s" % end))
|
|
569 |
self.assert_(set("\r\n") & set(dummydata))
|
|
570 |
|
|
571 |
utils.WriteFile(self.fname, data=dummydata)
|
|
572 |
|
|
573 |
data = utils.ReadFile(self.fname, oneline=True, size=555)
|
|
574 |
self.assertEqual(len(data), len("Hello World"))
|
|
575 |
self.assertEqual(data, dummydata[:11])
|
|
576 |
self.assertFalse(set("\r\n") & set(data))
|
|
577 |
|
|
578 |
def testReadOnelineWhitespace(self):
|
|
579 |
for ws in [" ", "\t", "\t\t \t", "\t "]:
|
|
580 |
dummydata = (1024 * ("Foo bar baz %s\n" % ws))
|
|
581 |
self.assert_(set("\r\n") & set(dummydata))
|
|
582 |
|
|
583 |
utils.WriteFile(self.fname, data=dummydata)
|
|
584 |
|
|
585 |
data = utils.ReadFile(self.fname, oneline=True, size=555)
|
|
586 |
explen = len("Foo bar baz ") + len(ws)
|
|
587 |
self.assertEqual(len(data), explen)
|
|
588 |
self.assertEqual(data, dummydata[:explen])
|
|
589 |
self.assertFalse(set("\r\n") & set(data))
|
|
590 |
|
|
591 |
def testError(self):
|
|
592 |
self.assertRaises(EnvironmentError, utils.ReadFile,
|
|
593 |
utils.PathJoin(self.tmpdir, "does-not-exist"))
|
|
594 |
|
|
595 |
|
519 |
596 |
class TestTimestampForFilename(unittest.TestCase):
|
520 |
597 |
def test(self):
|
521 |
598 |
self.assert_("." not in utils.TimestampForFilename())
|