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', ))
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
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(), ())