From 18e9e771b53246bc8d6115cf2ab350e764599012 Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Wed, 13 Sep 2023 13:40:26 +0530 Subject: [PATCH] fix: Check body exists before deleting null bytes in Twilio (#7910) --- app/services/twilio/incoming_message_service.rb | 2 +- .../services/twilio/incoming_message_service_spec.rb | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/services/twilio/incoming_message_service.rb b/app/services/twilio/incoming_message_service.rb index 097274d44..99295be0c 100644 --- a/app/services/twilio/incoming_message_service.rb +++ b/app/services/twilio/incoming_message_service.rb @@ -47,7 +47,7 @@ class Twilio::IncomingMessageService end def message_body - params[:Body].delete("\u0000") + params[:Body]&.delete("\u0000") end def set_contact diff --git a/spec/services/twilio/incoming_message_service_spec.rb b/spec/services/twilio/incoming_message_service_spec.rb index cf9d42874..1155ec265 100644 --- a/spec/services/twilio/incoming_message_service_spec.rb +++ b/spec/services/twilio/incoming_message_service_spec.rb @@ -37,6 +37,18 @@ describe Twilio::IncomingMessageService do expect(conversation.reload.messages.last.content).to eq('remove null bytes') end + it 'wont throw error when the body is empty' do + params = { + SmsSid: 'SMxx', + From: '+12345', + AccountSid: 'ACxxx', + MessagingServiceSid: twilio_channel.messaging_service_sid + } + + described_class.new(params: params).perform + expect(conversation.reload.messages.last.content).to be_nil + end + it 'creates a new conversation' do params = { SmsSid: 'SMxx',