def test_invalid_amount():
    """
    :return: Ths test for amount validation. If amount is less then equal to zero it raise exception InvalidCardDetailsError
    """
    credit_card_number = "5089630664001838"
    card_holder = "Maaz"
    expiration_date = "2022-02-02"
    security_code = "123"
    amount = -100
    with pytest.raises(InvalidAmountError) as e:
        assert process_payment(credit_card_number, card_holder,
                               expiration_date, security_code, amount)
def test_invalid_security_code():
    """
    :return: Ths test for security code validation. If security code is not valid it raise exception InvalidCardDetailsError
    """

    credit_card_number = "5089630664001838"
    card_holder = "Maaz"
    expiration_date = "2022-02-02"
    security_code = "12345"
    amount = 100
    with pytest.raises(InvalidCardDetailsError) as e:
        assert process_payment(credit_card_number, card_holder,
                               expiration_date, security_code, amount)