Revision f21bb4b7 test/ganeti.utils_unittest.py

b/test/ganeti.utils_unittest.py
1471 1471
                      utils.RunInSeparateProcess, _exc)
1472 1472

  
1473 1473

  
1474
class TestFingerprintFiles(unittest.TestCase):
1475
  def setUp(self):
1476
    self.tmpfile = tempfile.NamedTemporaryFile()
1477
    self.tmpfile2 = tempfile.NamedTemporaryFile()
1478
    utils.WriteFile(self.tmpfile2.name, data="Hello World\n")
1479
    self.results = {
1480
      self.tmpfile.name: "da39a3ee5e6b4b0d3255bfef95601890afd80709",
1481
      self.tmpfile2.name: "648a6a6ffffdaa0badb23b8baf90b6168dd16b3a",
1482
      }
1483

  
1484
  def testSingleFile(self):
1485
    self.assertEqual(utils._FingerprintFile(self.tmpfile.name),
1486
                     self.results[self.tmpfile.name])
1487

  
1488
    self.assertEqual(utils._FingerprintFile("/no/such/file"), None)
1489

  
1490
  def testBigFile(self):
1491
    self.tmpfile.write("A" * 8192)
1492
    self.tmpfile.flush()
1493
    self.assertEqual(utils._FingerprintFile(self.tmpfile.name),
1494
                     "35b6795ca20d6dc0aff8c7c110c96cd1070b8c38")
1495

  
1496
  def testMultiple(self):
1497
    all_files = self.results.keys()
1498
    all_files.append("/no/such/file")
1499
    self.assertEqual(utils.FingerprintFiles(self.results.keys()), self.results)
1500

  
1501

  
1502 1474
class TestGenerateSelfSignedX509Cert(unittest.TestCase):
1503 1475
  def setUp(self):
1504 1476
    self.tmpdir = tempfile.mkdtemp()
......
1829 1801
    self.assertEqual(errcode, utils.CERT_ERROR)
1830 1802

  
1831 1803

  
1832
class TestHmacFunctions(unittest.TestCase):
1833
  # Digests can be checked with "openssl sha1 -hmac $key"
1834
  def testSha1Hmac(self):
1835
    self.assertEqual(utils.Sha1Hmac("", ""),
1836
                     "fbdb1d1b18aa6c08324b7d64b71fb76370690e1d")
1837
    self.assertEqual(utils.Sha1Hmac("3YzMxZWE", "Hello World"),
1838
                     "ef4f3bda82212ecb2f7ce868888a19092481f1fd")
1839
    self.assertEqual(utils.Sha1Hmac("TguMTA2K", ""),
1840
                     "f904c2476527c6d3e6609ab683c66fa0652cb1dc")
1841

  
1842
    longtext = 1500 * "The quick brown fox jumps over the lazy dog\n"
1843
    self.assertEqual(utils.Sha1Hmac("3YzMxZWE", longtext),
1844
                     "35901b9a3001a7cdcf8e0e9d7c2e79df2223af54")
1845

  
1846
  def testSha1HmacSalt(self):
1847
    self.assertEqual(utils.Sha1Hmac("TguMTA2K", "", salt="abc0"),
1848
                     "4999bf342470eadb11dfcd24ca5680cf9fd7cdce")
1849
    self.assertEqual(utils.Sha1Hmac("TguMTA2K", "", salt="abc9"),
1850
                     "17a4adc34d69c0d367d4ffbef96fd41d4df7a6e8")
1851
    self.assertEqual(utils.Sha1Hmac("3YzMxZWE", "Hello World", salt="xyz0"),
1852
                     "7f264f8114c9066afc9bb7636e1786d996d3cc0d")
1853

  
1854
  def testVerifySha1Hmac(self):
1855
    self.assert_(utils.VerifySha1Hmac("", "", ("fbdb1d1b18aa6c08324b"
1856
                                               "7d64b71fb76370690e1d")))
1857
    self.assert_(utils.VerifySha1Hmac("TguMTA2K", "",
1858
                                      ("f904c2476527c6d3e660"
1859
                                       "9ab683c66fa0652cb1dc")))
1860

  
1861
    digest = "ef4f3bda82212ecb2f7ce868888a19092481f1fd"
1862
    self.assert_(utils.VerifySha1Hmac("3YzMxZWE", "Hello World", digest))
1863
    self.assert_(utils.VerifySha1Hmac("3YzMxZWE", "Hello World",
1864
                                      digest.lower()))
1865
    self.assert_(utils.VerifySha1Hmac("3YzMxZWE", "Hello World",
1866
                                      digest.upper()))
1867
    self.assert_(utils.VerifySha1Hmac("3YzMxZWE", "Hello World",
1868
                                      digest.title()))
1869

  
1870
  def testVerifySha1HmacSalt(self):
1871
    self.assert_(utils.VerifySha1Hmac("TguMTA2K", "",
1872
                                      ("17a4adc34d69c0d367d4"
1873
                                       "ffbef96fd41d4df7a6e8"),
1874
                                      salt="abc9"))
1875
    self.assert_(utils.VerifySha1Hmac("3YzMxZWE", "Hello World",
1876
                                      ("7f264f8114c9066afc9b"
1877
                                       "b7636e1786d996d3cc0d"),
1878
                                      salt="xyz0"))
1879

  
1880

  
1881 1804
class TestIgnoreSignals(unittest.TestCase):
1882 1805
  """Test the IgnoreSignals decorator"""
1883 1806

  

Also available in: Unified diff