def test_decode_single_block(self): codec = etao.PKCS7PaddingCodec(16) self.assertEqual(codec.decode(b'YELLOW SUBMARIN\x01'), b'YELLOW SUBMARIN')
def test_decode(self): codec = etao.PKCS7PaddingCodec(16) self.assertEqual(codec.decode(b'YELLOW SUBMARINE' + b'\x10' * 16), b'YELLOW SUBMARINE')
def test_encode_nothing(self): codec = etao.PKCS7PaddingCodec(16) self.assertEqual(codec.encode(b''), b'\x10' * 16)
def test_decode_incosistent_padding(self): codec = etao.PKCS7PaddingCodec(16) with self.assertRaises(ValueError): codec.decode(b'YELLOW SUBMARINE\x09' + b'\x10' * 15)
def test_decode_invalid_padding(self): codec = etao.PKCS7PaddingCodec(16) with self.assertRaises(ValueError): codec.decode(b'YELLOW SUBMARINE' + b'\xFF' * 16)
def test_decode_nothing(self): codec = etao.PKCS7PaddingCodec(16) with self.assertRaises(IndexError): codec.decode(b'')