def test_aes_cbc_missing_decrypt_key():
    encrypter = AES_CBCEncrypter()
    orig_msg = b'Murder must advertise.'
    ctx, tag = encrypter.encrypt(orig_msg)
    encrypter.key = None
    with pytest.raises(MissingKey):
        encrypter.decrypt(ctx, iv=encrypter.iv, tag=b'12346567890')
def test_aes_cbc():
    encrypter = AES_CBCEncrypter()
    orig_msg = b'Murder must advertise.'
    iv = b'Dorothy L Sayers'
    ctx, tag = encrypter.encrypt(orig_msg, iv)
    _msg = encrypter.decrypt(ctx, iv=iv, tag=tag)
    assert _msg == orig_msg
def test_aes_cbc_wrong_tag():
    encrypter = AES_CBCEncrypter()
    orig_msg = b'Murder must advertise.'
    ctx, tag = encrypter.encrypt(orig_msg)
    with pytest.raises(VerificationError):
        encrypter.decrypt(ctx, iv=encrypter.iv, tag=b'12346567890')
def test_aes_cbc_no_iv():
    encrypter = AES_CBCEncrypter()
    orig_msg = b'Murder must advertise.'
    ctx, tag = encrypter.encrypt(orig_msg)
    _msg = encrypter.decrypt(ctx, iv=encrypter.iv, tag=tag)
    assert _msg == orig_msg