예제 #1
0
 def test_decode_single_block(self):
     codec = etao.PKCS7PaddingCodec(16)
     self.assertEqual(codec.decode(b'YELLOW SUBMARIN\x01'),
                      b'YELLOW SUBMARIN')
예제 #2
0
 def test_decode(self):
     codec = etao.PKCS7PaddingCodec(16)
     self.assertEqual(codec.decode(b'YELLOW SUBMARINE' + b'\x10' * 16),
                      b'YELLOW SUBMARINE')
예제 #3
0
 def test_encode_nothing(self):
     codec = etao.PKCS7PaddingCodec(16)
     self.assertEqual(codec.encode(b''), b'\x10' * 16)
예제 #4
0
 def test_decode_incosistent_padding(self):
     codec = etao.PKCS7PaddingCodec(16)
     with self.assertRaises(ValueError):
         codec.decode(b'YELLOW SUBMARINE\x09' + b'\x10' * 15)
예제 #5
0
 def test_decode_invalid_padding(self):
     codec = etao.PKCS7PaddingCodec(16)
     with self.assertRaises(ValueError):
         codec.decode(b'YELLOW SUBMARINE' + b'\xFF' * 16)
예제 #6
0
 def test_decode_nothing(self):
     codec = etao.PKCS7PaddingCodec(16)
     with self.assertRaises(IndexError):
         codec.decode(b'')