Esempio n. 1
0
class KeyManagerTests(TestCase):
    def setUp(self):
        self.mgr = KeyManager()
        del self.mgr[u"_system"]
        self.mgr[u"_system"] = Keyring()
        self.mgr[u"_system"].rotate()
        self.mgr[u"one"] = Keyring()
        self.mgr[u"one"].rotate()
        self.mgr[u"two"] = Keyring()
        self.mgr[u"two"].rotate()

    def testInterface(self):
        verifyClass(IKeyManager, KeyManager)

    def testSystemKeyringCreated(self):
        mgr = KeyManager()
        self.assertEqual(mgr.keys(), [u"_anon", u"_forms", u"_system"])
        self.failUnless(mgr[u"_system"].current is not None)

    def testContainerIsPersistent(self):
        mgr = KeyManager()
        self.failUnless(
            isinstance(mgr.__dict__["_SampleContainer__data"],
                       PersistentMapping))

    def testClear(self):
        self.mgr.clear()
        self.assertEqual(set(self.mgr[u"_system"]), set([None]))
        self.assertNotEqual(set(self.mgr[u"one"]), set([None]))
        self.assertNotEqual(set(self.mgr[u"two"]), set([None]))

    def testClearGivenRing(self):
        self.mgr.clear(u"one")
        self.assertNotEqual(set(self.mgr[u"_system"]), set([None]))
        self.assertEqual(set(self.mgr[u"one"]), set([None]))
        self.assertNotEqual(set(self.mgr[u"two"]), set([None]))

    def testClearAll(self):
        self.mgr.clear(None)
        self.assertEqual(set(self.mgr[u"_system"]), set([None]))
        self.assertEqual(set(self.mgr[u"one"]), set([None]))
        self.assertEqual(set(self.mgr[u"two"]), set([None]))

    def testClearUnknownRing(self):
        self.assertRaises(KeyError, self.mgr.clear, u"missing")

    def testRotate(self):
        current_sys = self.mgr[u"_system"].current
        current_one = self.mgr[u"one"].current
        current_two = self.mgr[u"two"].current
        self.mgr.rotate()
        self.assertNotEqual(self.mgr[u"_system"].current, current_sys)
        self.assertEqual(self.mgr[u"_system"][1], current_sys)
        self.assertEqual(self.mgr[u"one"].current, current_one)
        self.assertEqual(self.mgr[u"one"][1], None)
        self.assertEqual(self.mgr[u"two"].current, current_two)
        self.assertEqual(self.mgr[u"two"][1], None)

    def testRotateGivenRing(self):
        current_sys = self.mgr[u"_system"].current
        current_one = self.mgr[u"one"].current
        current_two = self.mgr[u"two"].current
        self.mgr.rotate(u"one")
        self.assertEqual(self.mgr[u"_system"].current, current_sys)
        self.assertEqual(self.mgr[u"_system"][1], None)
        self.assertNotEqual(self.mgr[u"one"].current, current_one)
        self.assertEqual(self.mgr[u"one"][1], current_one)
        self.assertEqual(self.mgr[u"two"].current, current_two)
        self.assertEqual(self.mgr[u"two"][1], None)

    def testRotateAll(self):
        current_sys = self.mgr[u"_system"].current
        current_one = self.mgr[u"one"].current
        current_two = self.mgr[u"two"].current
        self.mgr.rotate(None)
        self.assertNotEqual(self.mgr[u"_system"].current, current_sys)
        self.assertEqual(self.mgr[u"_system"][1], current_sys)
        self.assertNotEqual(self.mgr[u"one"].current, current_one)
        self.assertEqual(self.mgr[u"one"][1], current_one)
        self.assertNotEqual(self.mgr[u"two"].current, current_two)
        self.assertEqual(self.mgr[u"two"][1], current_two)

    def testRotateUnknownRing(self):
        self.assertRaises(KeyError, self.mgr.clear, u"missing")

    def testSecret(self):
        self.mgr[u"_system"][0] = marker
        self.failUnless(self.mgr.secret() is marker)

    def testSecretGivenRing(self):
        self.mgr[u"one"][0] = marker
        self.failUnless(self.mgr.secret(u"one") is marker)

    def testSecretUnknownRing(self):
        self.assertRaises(KeyError, self.mgr.secret, u"missing")
Esempio n. 2
0
class KeyManagerTests(TestCase):
    def setUp(self):
        self.mgr=KeyManager()
        del self.mgr[u"_system"]
        self.mgr[u"_system"]=Keyring()
        self.mgr[u"_system"].rotate()
        self.mgr[u"one"]=Keyring()
        self.mgr[u"one"].rotate()
        self.mgr[u"two"]=Keyring()
        self.mgr[u"two"].rotate()


    def testInterface(self):
        verifyClass(IKeyManager, KeyManager)


    def testSystemKeyringCreated(self):
        mgr=KeyManager()
        self.assertEqual(set(mgr), {u"_anon", u"_forms", u"_system"})
        self.assertTrue(mgr[u"_system"].current is not None)


    def testContainerIsPersistent(self):
        mgr=KeyManager()
        self.assertTrue(isinstance(mgr.__dict__["_SampleContainer__data"],
                                   PersistentMapping))


    def testClear(self):
        self.mgr.clear()
        self.assertEqual(set(self.mgr[u"_system"]), set([None]))
        self.assertNotEqual(set(self.mgr[u"one"]), set([None]))
        self.assertNotEqual(set(self.mgr[u"two"]), set([None]))


    def testClearGivenRing(self):
        self.mgr.clear(u"one")
        self.assertNotEqual(set(self.mgr[u"_system"]), set([None]))
        self.assertEqual(set(self.mgr[u"one"]), set([None]))
        self.assertNotEqual(set(self.mgr[u"two"]), set([None]))


    def testClearAll(self):
        self.mgr.clear(None)
        self.assertEqual(set(self.mgr[u"_system"]), set([None]))
        self.assertEqual(set(self.mgr[u"one"]), set([None]))
        self.assertEqual(set(self.mgr[u"two"]), set([None]))


    def testClearUnknownRing(self):
        self.assertRaises(KeyError, self.mgr.clear, u"missing")


    def testRotate(self):
        current_sys = self.mgr[u"_system"].current
        current_one = self.mgr[u"one"].current
        current_two = self.mgr[u"two"].current
        self.mgr.rotate()
        self.assertNotEqual(self.mgr[u"_system"].current, current_sys)
        self.assertEqual(self.mgr[u"_system"][1], current_sys)
        self.assertEqual(self.mgr[u"one"].current, current_one)
        self.assertEqual(self.mgr[u"one"][1], None)
        self.assertEqual(self.mgr[u"two"].current, current_two)
        self.assertEqual(self.mgr[u"two"][1], None)


    def testRotateGivenRing(self):
        current_sys = self.mgr[u"_system"].current
        current_one = self.mgr[u"one"].current
        current_two = self.mgr[u"two"].current
        self.mgr.rotate(u"one")
        self.assertEqual(self.mgr[u"_system"].current, current_sys)
        self.assertEqual(self.mgr[u"_system"][1], None)
        self.assertNotEqual(self.mgr[u"one"].current, current_one)
        self.assertEqual(self.mgr[u"one"][1], current_one)
        self.assertEqual(self.mgr[u"two"].current, current_two)
        self.assertEqual(self.mgr[u"two"][1], None)


    def testRotateAll(self):
        current_sys = self.mgr[u"_system"].current
        current_one = self.mgr[u"one"].current
        current_two = self.mgr[u"two"].current
        self.mgr.rotate(None)
        self.assertNotEqual(self.mgr[u"_system"].current, current_sys)
        self.assertEqual(self.mgr[u"_system"][1], current_sys)
        self.assertNotEqual(self.mgr[u"one"].current, current_one)
        self.assertEqual(self.mgr[u"one"][1], current_one)
        self.assertNotEqual(self.mgr[u"two"].current, current_two)
        self.assertEqual(self.mgr[u"two"][1], current_two)


    def testRotateUnknownRing(self):
        self.assertRaises(KeyError, self.mgr.clear, u"missing")


    def testSecret(self):
        self.mgr[u"_system"][0]=marker
        self.assertTrue(self.mgr.secret() is marker)

    def testSecretGivenRing(self):
        self.mgr[u"one"][0]=marker
        self.assertTrue(self.mgr.secret(u"one") is marker)

    def testSecretUnknownRing(self):
        self.assertRaises(KeyError, self.mgr.secret, u"missing")