Exemplo n.º 1
0
 def test_get_entries(self):
     k = Keytab()
     k.read(self.testfile)
     entries = k.get_entries("afs/robotest@LOCALREALM")
     self.assertIsNotNone(entries)
     self.assertEquals(len(entries), 4)
     self.assertEquals(entries[0]['kvno'], 10)
Exemplo n.º 2
0
 def test_get_entries(self):
     k = Keytab()
     k.read(self.testfile)
     entries = k.get_entries("afs/robotest@LOCALREALM")
     self.assertIsNotNone(entries)
     self.assertEquals(len(entries), 4)
     self.assertEquals(entries[0]['kvno'], 10)
Exemplo n.º 3
0
 def test_guess_key_format(self):
     origprog = afsutil.cmd.ASETKEY
     afsutil.cmd.ASETKEY = asetkey_new
     k = Keytab()
     principal = "afs/xyzzy@LOCALREALM"
     k.add_fake_key(principal)
     self.assertEquals(k._guess_key_format(principal), 'extended')
     afsutil.cmd.ASETKEY = origprog
Exemplo n.º 4
0
 def test_is_des(self):
     k = Keytab()
     k.read(self.testfile)
     self.assertTrue(k.is_des("afs/plugh@LOCALREALM"))
     self.assertFalse(k.is_des("afs/xyzzy@LOCALREALM"))
     # The following has a mix of des and non-des.
     self.assertRaises(AssertionError, Keytab.is_des, k, "afs/robotest@LOCALREALM")
     # No keys for the following.
     self.assertRaises(AssertionError, Keytab.is_des, k, "afs/bogus@LOCALREALM")
Exemplo n.º 5
0
 def test_create_empty_file(self):
     fd,filename = tempfile.mkstemp()
     try:
         k = Keytab()
         k.write(filename)
         self.assertEqual(k.entries, [])
         out = subprocess.check_output(["klist", "-e", "-k", "-t", filename]).splitlines()
         self.assertEquals(len(out), 3)
         self.assertTrue(out[0].startswith("Keytab name"))
         self.assertTrue(out[1].startswith("KVNO Timestamp"))
         self.assertTrue(out[2].startswith("----"))
     finally:
         os.close(fd)
         os.remove(filename)
Exemplo n.º 6
0
 def test_create_empty_file(self):
     fd, filename = tempfile.mkstemp()
     try:
         k = Keytab()
         k.write(filename)
         self.assertEqual(k.entries, [])
         out = subprocess.check_output(
             ["klist", "-e", "-k", "-t", filename]).splitlines()
         self.assertEquals(len(out), 3)
         self.assertTrue(out[0].startswith("Keytab name"))
         self.assertTrue(out[1].startswith("KVNO Timestamp"))
         self.assertTrue(out[2].startswith("----"))
     finally:
         os.close(fd)
         os.remove(filename)
Exemplo n.º 7
0
 def test_create_fake_des_key(self):
     fd,filename = tempfile.mkstemp()
     try:
         k = Keytab()
         k.add_fake_key("afs/localcell@LOCALCELL", enctype='des-cbc-crc')
         k.write(filename)
         out = subprocess.check_output(["klist", "-e", "-k", "-t", filename]).splitlines()
         self.assertEquals(len(out), 4)
         self.assertTrue(out[0].startswith("Keytab name"))
         self.assertTrue(out[1].startswith("KVNO Timestamp"))
         self.assertTrue(out[2].startswith("----"))
         self.assertTrue("afs/localcell@LOCALCELL" in out[3])
         self.assertTrue("des-cbc-crc" in out[3])
     finally:
         os.close(fd)
         os.remove(filename)
Exemplo n.º 8
0
 def test_read_keytab(self):
     k = Keytab.load(self.testfile)
     self.assertIsNotNone(k)
     self.assertEquals(len(k.entries), 16)
     self.assertEquals(k.entries[0]['realm'], "LOCALREALM")
     self.assertEquals(k.entries[0]['principal'], "afs/robotest@LOCALREALM")
     self.assertEquals(k.entries[0]['kvno'], 10)
     self.assertEquals(k.entries[0]['eno'], 18)
     self.assertEquals(k.entries[0]['enctype'], 'aes256-cts-hmac-sha1-96')
Exemplo n.º 9
0
 def test_read_keytab(self):
     k = Keytab.load(self.testfile)
     self.assertIsNotNone(k)
     self.assertEquals(len(k.entries), 16)
     self.assertEquals(k.entries[0]['realm'], "LOCALREALM")
     self.assertEquals(k.entries[0]['principal'], "afs/robotest@LOCALREALM")
     self.assertEquals(k.entries[0]['kvno'], 10)
     self.assertEquals(k.entries[0]['eno'], 18)
     self.assertEquals(k.entries[0]['enctype'], 'aes256-cts-hmac-sha1-96')
Exemplo n.º 10
0
 def test_is_des(self):
     k = Keytab()
     k.read(self.testfile)
     self.assertTrue(k.is_des("afs/plugh@LOCALREALM"))
     self.assertFalse(k.is_des("afs/xyzzy@LOCALREALM"))
     # The following has a mix of des and non-des.
     self.assertRaises(AssertionError, Keytab.is_des, k,
                       "afs/robotest@LOCALREALM")
     # No keys for the following.
     self.assertRaises(AssertionError, Keytab.is_des, k,
                       "afs/bogus@LOCALREALM")
Exemplo n.º 11
0
 def test_create_fake_aes_key(self):
     fd, filename = tempfile.mkstemp()
     try:
         k = Keytab()
         k.add_fake_key("afs/localcell@LOCALCELL")
         k.write(filename)
         out = subprocess.check_output(
             ["klist", "-e", "-k", "-t", filename]).splitlines()
         self.assertEquals(len(out), 4)
         self.assertTrue(out[0].startswith("Keytab name"))
         self.assertTrue(out[1].startswith("KVNO Timestamp"))
         self.assertTrue(out[2].startswith("----"))
         self.assertTrue("afs/localcell@LOCALCELL" in out[3])
         self.assertTrue("aes256-cts-hmac-sha1-96" in out[3])
     finally:
         os.close(fd)
         os.remove(filename)
Exemplo n.º 12
0
 def test_guess_key_format(self):
     k = Keytab()
     principal = "afs/xyzzy@LOCALREALM"
     k.add_fake_key(principal)
     self.assertEquals(k._guess_key_format(principal), 'extended')
Exemplo n.º 13
0
 def test_service_principals_n(self):
     k = Keytab.load(self.testfile)
     self.assertItemsEqual(k.service_principals(),
         ['afs/xyzzy@LOCALREALM', 'afs/robotest@LOCALREALM', 'afs/plugh@LOCALREALM'])
Exemplo n.º 14
0
 def test_service_principals_1(self):
     k = Keytab()
     k.add_fake_key("afs/foobar@FOOBAR")
     self.assertEquals(len(k.service_principals()), 1)
Exemplo n.º 15
0
 def test_service_principals_0(self):
     k = Keytab()
     self.assertEquals(len(k.service_principals()), 0)
Exemplo n.º 16
0
 def test_get_entries_for_kvno(self):
     k = Keytab()
     k.read(self.testfile)
     entries = k.get_entries("robotest@LOCALREALM", 18)  # not the max kvno
     self.assertIsNotNone(entries)
     self.assertEquals(len(entries), 4)
Exemplo n.º 17
0
 def test_get_entries_for_kvno(self):
     k = Keytab()
     k.read(self.testfile)
     entries = k.get_entries("robotest@LOCALREALM", 18) # not the max kvno
     self.assertIsNotNone(entries)
     self.assertEquals(len(entries), 4)
Exemplo n.º 18
0
 def test_service_principals_0(self):
     k = Keytab()
     self.assertEquals(len(k.service_principals()), 0)
Exemplo n.º 19
0
 def test_service_principals_1(self):
     k = Keytab()
     k.add_fake_key("afs/foobar@FOOBAR")
     self.assertEquals(len(k.service_principals()), 1)
Exemplo n.º 20
0
 def test_service_principals_n(self):
     k = Keytab.load(self.testfile)
     self.assertItemsEqual(k.service_principals(), [
         'afs/xyzzy@LOCALREALM', 'afs/robotest@LOCALREALM',
         'afs/plugh@LOCALREALM'
     ])
Exemplo n.º 21
0
 def test_get_kvno(self):
     k = Keytab()
     k.read(self.testfile)
     self.assertEquals(k.get_kvno("afs/robotest@LOCALREALM"), 10)
     self.assertEquals(k.get_kvno("robotest@LOCALREALM"), 19)
     self.assertEquals(k.get_kvno("bogus@BOGUS"), None)
Exemplo n.º 22
0
 def test_get_kvno(self):
     k = Keytab()
     k.read(self.testfile)
     self.assertEquals(k.get_kvno("afs/robotest@LOCALREALM"), 10)
     self.assertEquals(k.get_kvno("robotest@LOCALREALM"), 19)
     self.assertEquals(k.get_kvno("bogus@BOGUS"), None)