def testEncryption(self): a1 = Account('key', 'crypto') a1.setPassword('pass') # Check that the password is encrypted (or at least obscured) encrypted = a1.encryptedPassword() self.assertNotEqual(encrypted, None) self.assertNotEqual(encrypted, 'pass') # Make sure the password can be decrypted a2 = Account('key', 'crypto') a2.setEncryptedPassword(encrypted) self.assertEqual(a2.password(), 'pass') # Make sure the password can't be decrypted with the wrong key a3 = Account('key', 'wrong key') a3.setEncryptedPassword(encrypted) self.assertNotEqual(a3.password(), 'pass')
def testWritefp(self): a = Account("the_key") a.setNote("the note") a.setUsername("the username") a.setEncryptedPassword("the password") f = tempfile.TemporaryFile() persistance.writefp(f, [a]) f.seek(0) config = SafeConfigParser() config.readfp(f) self.assertEqual(config.sections(), ["the_key"]) self.assertEqual(config.get("the_key", "note"), "the note") self.assertEqual(config.get("the_key", "username"), "the username") self.assertEqual(config.get("the_key", "password"), "the password") f.close