def test_should_send_sms_to_international_providers( restore_provider_details, sample_sms_template_with_html, sample_user, mocker ): mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user) dao_switch_sms_provider_to_provider_with_identifier('firetext') db_notification_uk = create_notification( template=sample_sms_template_with_html, to_field="+16135555555", personalisation={"name": "Jo"}, status='created', international=False, reply_to_text=sample_sms_template_with_html.service.get_default_sms_sender() ) db_notification_international = create_notification( template=sample_sms_template_with_html, to_field="+1613555555", personalisation={"name": "Jo"}, status='created', international=False, reply_to_text=sample_sms_template_with_html.service.get_default_sms_sender() ) mocker.patch('app.aws_sns_client.send_sms') mocker.patch('app.mmg_client.send_sms') send_to_providers.send_sms_to_provider( db_notification_uk ) mmg_client.send_sms.assert_called_once_with( to="16135555555", content=ANY, reference=str(db_notification_uk.id), sender=current_app.config['FROM_NUMBER'] ) send_to_providers.send_sms_to_provider( db_notification_international ) aws_sns_client.send_sms.assert_called_once_with( to="601117224412", content=ANY, reference=str(db_notification_international.id), sender=current_app.config['FROM_NUMBER'] ) notification_uk = Notification.query.filter_by(id=db_notification_uk.id).one() notification_int = Notification.query.filter_by(id=db_notification_international.id).one() assert notification_uk.status == 'sending' assert notification_uk.sent_by == 'firetext' assert notification_int.status == 'sent' assert notification_int.sent_by == 'mmg'
def test_switch_sms_provider_to_current_provider_does_not_switch( restore_provider_details, current_sms_provider): dao_switch_sms_provider_to_provider_with_identifier( current_sms_provider.identifier) new_provider = get_current_provider('sms') assert current_sms_provider.id == new_provider.id assert current_sms_provider.identifier == new_provider.identifier
def test_should_send_sms_to_international_providers( notify_db, restore_provider_details, sample_sms_template_with_html, sample_user, mocker): mocker.patch('app.provider_details.switch_providers.get_user_by_id', return_value=sample_user) dao_switch_sms_provider_to_provider_with_identifier('sap') db_notification_au = create_notification( template=sample_sms_template_with_html, to_field="+61412888999", personalisation={"name": "Jo"}, status='created', international=False, reply_to_text=sample_sms_template_with_html.service. get_default_sms_sender()) db_notification_international = create_notification( template=sample_sms_template_with_html, to_field="+61412111222", personalisation={"name": "Jo"}, status='created', international=True, reply_to_text=sample_sms_template_with_html.service. get_default_sms_sender()) mocker.patch('app.sap_sms_client.send_sms', return_value=[ 'MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', NOTIFICATION_SENDING ]) send_to_providers.send_sms_to_provider(db_notification_au) sap_sms_client.send_sms.assert_called_with( to="+61412888999", content=ANY, reference=str(db_notification_au.id), sender=current_app.config['FROM_NUMBER']) send_to_providers.send_sms_to_provider(db_notification_international) sap_sms_client.send_sms.assert_called_with( to="+61412111222", content=ANY, reference=str(db_notification_international.id), sender=current_app.config['FROM_NUMBER']) notification_au = Notification.query.filter_by( id=db_notification_au.id).one() notification_int = Notification.query.filter_by( id=db_notification_international.id).one() assert notification_au.status == 'sending' assert notification_au.sent_by == 'sap' assert notification_au.reference == 'MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' assert notification_int.status == 'sent' assert notification_int.sent_by == 'sap' assert notification_int.reference == 'MMXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
def test_switch_sms_provider_to_inactive_provider_does_not_switch(setup_sms_providers): [inactive_provider, current_provider, _] = setup_sms_providers assert get_current_provider('sms').identifier == current_provider.identifier dao_switch_sms_provider_to_provider_with_identifier(inactive_provider.identifier) new_provider = get_current_provider('sms') assert new_provider.id == current_provider.id assert new_provider.identifier == current_provider.identifier
def test_switch_sms_provider_to_inactive_provider_does_not_switch(restore_provider_details, current_sms_provider): alternative_sms_provider = get_alternative_sms_provider(current_sms_provider.identifier) alternative_sms_provider.active = False dao_update_provider_details(alternative_sms_provider) dao_switch_sms_provider_to_provider_with_identifier(alternative_sms_provider.identifier) new_provider = get_current_provider("sms") assert new_provider.id == current_sms_provider.id assert new_provider.identifier == current_sms_provider.identifier