def test_create_inbound_mmg_sms_object(sample_service_full_permissions): data = { 'Message': 'hello+there+%F0%9F%93%A9', 'Number': sample_service_full_permissions.get_inbound_number(), 'MSISDN': '447700900001', 'DateRecieved': '2017-01-02+03%3A04%3A05', 'ID': 'bar', } inbound_sms = create_inbound_sms_object( sample_service_full_permissions, format_mmg_message(data["Message"]), data["MSISDN"], data["ID"], format_mmg_datetime(data["DateRecieved"]), "mmg" ) assert inbound_sms.service_id == sample_service_full_permissions.id assert inbound_sms.notify_number == sample_service_full_permissions.get_inbound_number() assert inbound_sms.user_number == '447700900001' assert inbound_sms.provider_date == datetime(2017, 1, 2, 8, 4, 5) assert inbound_sms.provider_reference == 'bar' assert inbound_sms._content != 'hello there 📩' assert inbound_sms.content == 'hello there 📩' assert inbound_sms.provider == 'mmg'
def process_pinpoint_inbound_sms(self, event: CeleryEvent): provider_name = 'pinpoint' if not is_feature_enabled(FeatureFlag.PINPOINT_INBOUND_SMS_ENABLED): current_app.logger.info( 'Pinpoint inbound SMS toggle is disabled, skipping task') return True pinpoint_message: PinpointInboundSmsMessage = json.loads(event['Message']) service = fetch_potential_service(pinpoint_message['destinationNumber'], provider_name) statsd_client.incr(f"inbound.{provider_name}.successful") inbound_sms = create_inbound_sms_object( service=service, content=pinpoint_message['messageBody'], notify_number=pinpoint_message['destinationNumber'], from_number=pinpoint_message['originationNumber'], provider_ref=pinpoint_message['inboundMessageId'], date_received=datetime.utcnow(), provider_name=provider_name) send_inbound_sms_to_service.apply_async([inbound_sms.id, service.id], queue=QueueNames.NOTIFY)
def test_create_inbound_sms_object_works_with_alphanumeric_sender(sample_service_full_permissions): inbound_sms = create_inbound_sms_object( service=sample_service_full_permissions, content='hello', from_number='ALPHANUM3R1C', provider_ref='foo', provider_name="twilio" ) assert inbound_sms.user_number == 'ALPHANUM3R1C'
def test_create_inbound_sms_object(sample_service_full_permissions): inbound_sms = create_inbound_sms_object( sample_service_full_permissions, 'hello there 📩', '+61412345678', 'bar', 'twilio', ) assert inbound_sms.service_id == sample_service_full_permissions.id assert inbound_sms.notify_number == sample_service_full_permissions.get_inbound_number() assert inbound_sms.user_number == '+61412345678' assert inbound_sms.provider_date == datetime(2017, 1, 1, 16, 00, 00) assert inbound_sms.provider_reference == 'bar' assert inbound_sms._content != 'hello there 📩' assert inbound_sms.content == 'hello there 📩' assert inbound_sms.provider == 'twilio'
def test_create_inbound_sms_object_works_with_alphanumeric_sender( sample_service_full_permissions): data = { 'Message': 'hello', 'Number': sample_service_full_permissions.get_inbound_number(), 'MSISDN': 'ALPHANUM3R1C', 'DateRecieved': '2017-01-02+03%3A04%3A05', 'ID': 'bar', } inbound_sms = create_inbound_sms_object( service=sample_service_full_permissions, content=format_mmg_message(data["Message"]), from_number='ALPHANUM3R1C', provider_ref='foo', date_received=None, provider_name="mmg") assert inbound_sms.user_number == 'ALPHANUM3R1C'
def test_create_inbound_mmg_sms_object_uses_inbound_number_if_set( sample_service_full_permissions): sample_service_full_permissions.sms_sender = 'foo' inbound_number = sample_service_full_permissions.get_inbound_number() data = { 'Message': 'hello+there+%F0%9F%93%A9', 'Number': sample_service_full_permissions.get_inbound_number(), 'MSISDN': '07700 900 001', 'DateRecieved': '2017-01-02+03%3A04%3A05', 'ID': 'bar', } inbound_sms = create_inbound_sms_object( sample_service_full_permissions, format_mmg_message(data["Message"]), data["MSISDN"], data["ID"], data["DateRecieved"], "mmg") assert inbound_sms.service_id == sample_service_full_permissions.id assert inbound_sms.notify_number == inbound_number
def test_create_inbound_sms_object(sample_service_full_permissions): inbound_sms = create_inbound_sms_object( service=sample_service_full_permissions, content='hello there 📩', notify_number='+15551234567', from_number='+61412345678', provider_ref='bar', date_received=datetime.utcnow(), provider_name='twilio', ) assert inbound_sms.service_id == sample_service_full_permissions.id assert inbound_sms.notify_number == '+15551234567' assert inbound_sms.user_number == '+61412345678' assert inbound_sms.provider_date == datetime(2017, 1, 1, 16, 00, 00) assert inbound_sms.provider_reference == 'bar' assert inbound_sms._content != 'hello there 📩' assert inbound_sms.content == 'hello there 📩' assert inbound_sms.provider == 'twilio'