# vim: set fileencoding=utf-8 import unittest from bemani.common import AESCipher class TestAESCipher(unittest.TestCase): def test_pad(self) -> None: aes = AESCipher("a wonderful key") self.assertEqual(aes._pad(""), "0.--------------") self.assertEqual(aes._unpad(aes._pad("")), "") self.assertEqual(aes._pad("1337"), "4.1337----------") self.assertEqual(aes._unpad(aes._pad("1337")), "1337") self.assertEqual( aes._pad("aaaaaaaaaaaaaaaa"), "16.aaaaaaaaaaaaaaaa-------------" ) self.assertEqual(aes._unpad(aes._pad("aaaaaaaaaaaaaaaa")), "aaaaaaaaaaaaaaaa") self.assertEqual(aes._pad("aaaaaaaaaaaaa"), "13.aaaaaaaaaaaaa") self.assertEqual(aes._unpad(aes._pad("aaaaaaaaaaaaa")), "aaaaaaaaaaaaa") def test_crypto(self) -> None: aes = AESCipher("a wonderful key") ciphertext = aes.encrypt("testing") plaintext = aes.decrypt(ciphertext) self.assertEqual(plaintext, "testing") self.assertNotEqual(ciphertext, plaintext)