This is a SchoolStatus implementation to mock twilio client to perform requests to twilio-oai
To install using bundler grab the latest stable version:
gem install mock-twilio
- Twilio OAI and More Info
OR
docker compose up twilio_mock_server
SS Twilio Mock Server
proxy_address = twilio_mock_server
proxy_port = 4010
proxy_protocol = http
Mock::Twilio::Client | Support |
---|---|
client.messages.create(to: "+593978613041", body: "Testing SMS", from: "+13212855389") |
✅ |
client.messaging.v1.services("MG"+"F"*32).phone_numbers.create(phone_number_sid: @phone_number_sid) |
✅ |
client.available_phone_numbers('US').local.list(limit: 20) |
✅ |
client.incoming_phone_numbers.create(phone_number: "+1987654321", voice_url: "#{BASE_URL}/api/v1/twilio_calls/incoming", sms_url: "#{BASE_URL}/api/v1/twilio_requests/inbound") |
✅ |
client.lookups.v2.phone_numbers("+14159929960").fetch(fields: :line_type_intelligence) |
✅ |
client.calls.create(url: '<http://demo.twilio.com/docs/voice.xml>', to: '+14155551212', from: '+15017122661', status_callback: '<https://myapp.com/events>', status_callback_event: ['ringing'], status_callback_method: 'POST') |
✅ |
client.conferences("CF"+("F")*32).participants.create(label: 'customer', early_media: true, beep: 'onEnter', status_callback: '<https://myapp.com/events>', status_callback_event: ['ringing'], record: true, from: '+15017122661', to: '+15558675310') |
✅ |
client.trusthub.v1.customer_profiles.create(**twilio_attributes) |
✅ |
client.trusthub.v1.customer_profiles(customer_profile_sid).customer_profiles_entity_assignments.create(object_sid:) |
✅ |
client.trusthub.v1.end_users.create(**twilio_parameters) |
✅ |
client.trusthub.v1.supporting_documents.create(**twilio_parameters) |
✅ |
client.addresses.create(**twilio_parameters) |
✅ |
client.trusthub.v1.customer_profiles.create(**twilio_attributes) |
✅ |
client.trusthub.v1.customer_profiles(customer_profile.sid).customer_profiles_evaluations.create(policy_sid:) |
✅ |
Mock::Twilio::Webhooks | Support |
---|---|
Webhooks::Messages |
✅ |
Webhooks::InboundMessages |
✅ |
Webhooks::Calls |
✅ |
Webhooks::CallStatusUpdates |
✅ |
Webhooks::Conferences |
✅ |
Webhooks::CustomerProfiles |
✅ |
Webhooks::Brands |
✅ |
Initializer sample
Mock::Twilio.configure do |config|
config.host = "http://shunkan-ido-service"
config.forwarded_host = "shunkan-ido-service"
config.port = "3000"
config.proto = "http"
end
Example
export TWILIO_ACCOUNT_SID=ACFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
export TWILIO_API_KEY=SKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export TWILIO_API_SECRET=ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
mock_client = Mock::Twilio::Client.new
client = Twilio::REST::Client.new(nil, nil, nil, nil, mock_client)
client.messages.create(to: "+593978613041", body: "RB This is the ship that made the Kesssssel Run in fourteen parsecs?", from: "+13212855389")
rake test
- Array and Boolean validations due open api formats, ie params as
status_callback_event
,early_media
. Validations removed for them on json files.