예제 #1
0
 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"])
예제 #2
0
 def test_character_set(self):
     s = PasswordSetting("unit.test")
     self.assertFalse(s.use_custom_character_set())
     self.assertEqual("abcdefghijklmnopqrstuvwxyz" +
                      "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
                      "0123456789" +
                      "#!\"§$%&/()[]{}=-_+*<>;:.", s.get_character_set())
     s.set_custom_character_set("&=Oo0wWsS$#uUvVzZ")
     self.assertTrue(s.use_custom_character_set())
     self.assertEqual("&=Oo0wWsS$#uUvVzZ", s.get_character_set())
     s.set_custom_character_set(
         "abcdefghijklmnopqrstuvwxyz" +
         "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
         "0123456789" +
         "#!\"§$%&/()[]{}=-_+*<>;:.")
     self.assertFalse(s.use_custom_character_set())
     self.assertEqual("abcdefghijklmnopqrstuvwxyz" +
                      "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +
                      "0123456789" +
                      "#!\"§$%&/()[]{}=-_+*<>;:.", s.get_character_set())
     s.set_use_letters(False)
     self.assertEqual("0123456789#!\"§$%&/()[]{}=-_+*<>;:.", s.get_character_set())
     s.set_use_letters(True)
     s.set_use_digits(False)
     s.set_use_extra(False)
     self.assertEqual("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", s.get_character_set())
예제 #3
0
 def test_get_character_set(self):
     s = PasswordSetting("unit.test")
     self.assertEqual("c", s.get_character_set()[2])
     s.set_custom_character_set("axFLp0")
     self.assertEqual(6, len(s.get_character_set()))
     self.assertEqual("F", s.get_character_set()[2])
     self.assertEqual("0", s.get_character_set()[5])
예제 #4
0
 def test_custom_character_set(self):
     setting = PasswordSetting('some.domain')
     setting.set_salt('pepper'.encode('utf-8'))
     setting.set_custom_character_set(
         'abcdefghijklmnopqrstuvwxyzABCDUFGHJKLMNPQRTEVWXYZ0123456789#!"§$%&/()[]{}=-_+*<>;:.')
     manager = CtSesam(domain=setting.get_domain(), username=setting.get_username(), kgk='foo'.encode('utf-8'))
     self.assertEqual("5#%KiEvUU7", manager.generate(setting))
예제 #5
0
 def test_set_use_extra(self):
     s = PasswordSetting("unit.test")
     s.set_custom_character_set("Eab;^2c3")
     s.set_use_extra(False)
     self.assertEqual("abcE23", s.get_character_set())
     s.set_custom_character_set("Eab;^2c3")
     s.set_use_extra(True)
     self.assertEqual("abcE23#!\"§$%&/()[]{}=-_+*<>;:.^", s.get_character_set())
예제 #6
0
 def test_set_use_upper_case(self):
     s = PasswordSetting("unit.test")
     s.set_custom_character_set("Eab2c3")
     s.set_use_upper_case(False)
     self.assertEqual("abc23", s.get_character_set())
     s.set_custom_character_set("Eab2c3")
     s.set_use_upper_case(True)
     self.assertEqual("abcABCDEFGHIJKLMNOPQRSTUVWXYZ23", s.get_character_set())
예제 #7
0
 def test_set_use_lower_case(self):
     s = PasswordSetting("unit.test")
     s.set_custom_character_set("Eabc2")
     s.set_use_lower_case(False)
     self.assertEqual("E2", s.get_character_set())
     s.set_custom_character_set("Eabc2")
     s.set_use_lower_case(True)
     self.assertEqual("abcdefghijklmnopqrstuvwxyzE2", s.get_character_set())
예제 #8
0
 def test_set_use_digits(self):
     s = PasswordSetting("unit.test")
     s.set_custom_character_set("abE;c2")
     s.set_use_digits(False)
     self.assertEqual("abcE;", s.get_character_set())
     s.set_custom_character_set("aL;^bc2")
     s.set_use_digits(True)
     self.assertEqual("abcL0123456789;^", s.get_character_set())