def test_to_json(self): s = PasswordSetting("unit.test") s.set_modification_date("2005-01-01T01:14:12") s.set_creation_date("2001-01-01T02:14:12") s.set_salt("something".encode('utf-8')) s.set_iterations(213) s.set_length(14) s.set_custom_character_set("XVLCWKHGFQUIAEOSNRTDYÜÖÄPZBMJ") s.set_notes("Some note.") self.assertIn("domain", s.to_dict()) self.assertEqual("unit.test", s.to_dict()["domain"]) self.assertIn("cDate", s.to_dict()) self.assertEqual("2001-01-01T02:14:12", s.to_dict()["cDate"]) self.assertIn("mDate", s.to_dict()) self.assertEqual("2005-01-01T01:14:12", s.to_dict()["mDate"]) self.assertIn("salt", s.to_dict()) self.assertEqual(str(b64encode("something".encode('utf-8')), encoding='utf-8'), s.to_dict()["salt"]) self.assertIn("iterations", s.to_dict()) self.assertEqual(213, s.to_dict()["iterations"]) self.assertIn("length", s.to_dict()) self.assertEqual(14, s.to_dict()["length"]) self.assertIn("usedCharacters", s.to_dict()) self.assertEqual("XVLCWKHGFQUIAEOSNRTDYÜÖÄPZBMJ", s.to_dict()["usedCharacters"]) self.assertIn("notes", s.to_dict()) self.assertEqual("Some note.", s.to_dict()["notes"])
def test_save_settings_to_file(self): self.manager.get_setting('abc.de') new_setting = PasswordSetting('hugo.com') new_setting.set_length(12) self.manager.save_setting(new_setting) self.manager.save_settings_to_file('xyz') f = open(os.path.expanduser('~/.ctSESAM_test.pws'), 'br') crypter = Crypter('xyz') data = json.loads(Packer.decompress(crypter.decrypt(f.read())).decode('utf8')) f.close() self.assertEqual('abc.de', data['settings']['abc.de']['domain']) self.assertEqual(10, data['settings']['abc.de']['length']) self.assertEqual('hugo.com', data['settings']['hugo.com']['domain']) self.assertEqual(12, data['settings']['hugo.com']['length'])
def test_save_settings_to_file(self): self.manager.get_setting('abc.de') new_setting = PasswordSetting('hugo.com') new_setting.set_length(12) self.manager.set_setting(new_setting) self.manager.save_settings_to_file('xyz') with open(os.path.expanduser('~/.ctSESAM_test.pws'), 'br') as f: data = f.read() crypter = Crypter(data[:32], 'xyz') sync_settings_len = struct.unpack('!I', data[32:36])[0] data = json.loads(Packer.decompress(crypter.decrypt(data[36+sync_settings_len:])).decode('utf8')) self.assertEqual('abc.de', data['settings']['abc.de']['domain']) self.assertEqual(10, data['settings']['abc.de']['length']) self.assertEqual('hugo.com', data['settings']['hugo.com']['domain']) self.assertEqual(12, data['settings']['hugo.com']['length'])
def test_save_settings_to_file(self): self.manager.get_setting('abc.de') new_setting = PasswordSetting('hugo.com') new_setting.set_length(12) self.manager.save_setting(new_setting) self.manager.save_settings_to_file('xyz') f = open(os.path.expanduser('~/.ctSESAM_test.pws'), 'br') crypter = Crypter('xyz') data = json.loads( Packer.decompress(crypter.decrypt(f.read())).decode('utf8')) f.close() self.assertEqual('abc.de', data['settings']['abc.de']['domain']) self.assertEqual(10, data['settings']['abc.de']['length']) self.assertEqual('hugo.com', data['settings']['hugo.com']['domain']) self.assertEqual(12, data['settings']['hugo.com']['length'])