def test_send_email_verification_sendgrid_error( mock_send_email_using_sendgrid): mock_send_email_using_sendgrid.side_effect = AttributeError with mock.patch('logic.attestation_service.session', dict()): with pytest.raises(EmailVerificationError) as service_err: VerificationService.send_email_verification('*****@*****.**') assert(str(service_err.value)) == \ 'Could not send verification code. Please try again shortly.'
def test_send_email_verification(mock_datetime, mock_send_email_using_sendgrid): mock_send_email_using_sendgrid.return_value = True now = datetime.datetime.utcnow() expire_in = datetime.timedelta(minutes=30) mock_datetime.datetime.utcnow.return_value = now mock_datetime.timedelta.return_value = expire_in email = '*****@*****.**' with mock.patch('logic.attestation_service.session', dict()) as session: response = VerificationService.send_email_verification(email) assert isinstance(response, VerificationServiceResponse) assert 'email_attestation' in session assert len(session['email_attestation']['code']) == 6 assert session['email_attestation']['expiry'] == now + expire_in assert check_password_hash(session['email_attestation']['email'], email)