示例#1
0
 def test_01_constructor(self):
     ctx = CryptContext()
     self.assertEqual(ctx.to_dict(), {})
     ctx = CryptContext(**self.sample_1_dict)
     self.assertEqual(ctx.to_dict(), self.sample_1_dict)
     ctx = CryptContext(**self.sample_1_resolved_dict)
     self.assertEqual(ctx.to_dict(), self.sample_1_dict)
     ctx = CryptContext(**self.sample_2_dict)
     self.assertEqual(ctx.to_dict(), self.sample_2_dict)
     ctx = CryptContext(**self.sample_3_dict)
     self.assertEqual(ctx.to_dict(), self.sample_3_dict)
     ctx = CryptContext(schemes=[u('sha256_crypt')])
     self.assertEqual(ctx.schemes(), ('sha256_crypt', ))
示例#2
0
    def test_21_schemes(self):
        cc = CryptContext(schemes=None)
        self.assertEqual(cc.schemes(), ())
        cc = CryptContext(schemes=['des_crypt', 'md5_crypt'])
        self.assertEqual(cc.schemes(), ('des_crypt', 'md5_crypt'))
        cc = CryptContext(schemes=' des_crypt, md5_crypt, ')
        self.assertEqual(cc.schemes(), ('des_crypt', 'md5_crypt'))
        cc = CryptContext(schemes=[hash.des_crypt, hash.md5_crypt])
        self.assertEqual(cc.schemes(), ('des_crypt', 'md5_crypt'))
        self.assertRaises(TypeError, CryptContext, schemes=[uh.StaticHandler])

        class nameless(uh.StaticHandler):
            name = None

        self.assertRaises(ValueError, CryptContext, schemes=[nameless])

        class dummy_1(uh.StaticHandler):
            name = 'dummy_1'

        self.assertRaises(KeyError, CryptContext, schemes=[dummy_1, dummy_1])
        self.assertRaises(KeyError, CryptContext, admin__context__schemes=[
         'md5_crypt'])
        return
示例#3
0
    def test_30_schemes(self):
        ctx = CryptContext()
        self.assertEqual(ctx.schemes(), ())
        self.assertEqual(ctx.schemes(resolve=True), ())
        ctx = CryptContext(**self.sample_1_dict)
        self.assertEqual(ctx.schemes(), tuple(self.sample_1_schemes))
        self.assertEqual(ctx.schemes(resolve=True, unconfigured=True), tuple(self.sample_1_handlers))
        for result, correct in zip(ctx.schemes(resolve=True), self.sample_1_handlers):
            self.assertTrue(handler_derived_from(result, correct))

        ctx = CryptContext(**self.sample_2_dict)
        self.assertEqual(ctx.schemes(), ())