def test_password_recovery_level1(self):
     password = "******"
     su = SecureUser(password)
     sessionKey = su.unlock(password)
     text = "This is secure"
     encrypted = su.encrypt(text, sessionKey)
     self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata")
     
     print "Restoring password"
     adminpassword = "******"
     newPassword = "******"
     su.restore_user_password(newPassword, adminpassword)
     sessionKey = su.unlock(newPassword)
     self.assertEqual(text, su.decrypt(su.encrypt(text, sessionKey), sessionKey), "Could not en/decrypt userdata after password reset")
     self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata encrypted with privious key")
 def test_password_recovery_level2(self):
     # Create an Admin User and get his keys
     admin = SecureUser("adminpw")
     keys = admin.raw_keys("adminpw")
     
     password = "******"
     su = SecureUser(password, 2, admin_public_key = keys['public_key'])
     sessionKey = su.unlock(password)
     text = "This is secure"
     encrypted = su.encrypt(text, sessionKey)
     self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata")
     
     print "Restoring password"
     adminpassword = "******"
     newPassword = "******"
     su.restore_user_password(newPassword, admin_private_key = keys['private_key'])
     
     sessionKey = su.unlock(newPassword)
     self.assertEqual(text, su.decrypt(su.encrypt(text, sessionKey), sessionKey), "Could not en/decrypt userdata after password reset")
     self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata encrypted with privious key")