Class: Mock::Twilio::Webhooks::Brands
- Defined in:
- lib/mock/twilio/webhooks/brands.rb
Constant Summary collapse
- URL =
"/webhooks/twilio/brands_compliance"
- EVENTS =
{ "verified": "registered", "unverified": "unverified" }
Constants inherited from Base
Mock::Twilio::Webhooks::Base::DELAY
Class Method Summary collapse
Methods inherited from Base
auth_twilio, build_signature_for_request, headers, twilio_client, webhook_client
Class Method Details
.data_builder(sid, status) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/mock/twilio/webhooks/brands.rb', line 37 def self.data_builder(sid, status) uuid = SecureRandom.uuid type = status [ { specversion: "1.0", type: "com.twilio.messaging.compliance.brand-registration.brand-" + EVENTS[status.to_sym], source: uuid, id: uuid, datacontenttype: "application/json", time: Time.current.rfc2822, data: { accountsid: ::Twilio.account_sid, brandsid: sid, brandstatus: "registered", identitystatus: status } } ] end |
.trigger(sid, status) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mock/twilio/webhooks/brands.rb', line 10 def self.trigger(sid, status) # Wait simulation from twilio sleep DELAY.sample request_url = Mock::Twilio.proto + "://" + Mock::Twilio.forwarded_host + URL data = data_builder(sid, status) signature = build_signature_for_request(request_url, data) response = webhook_client.request(Mock::Twilio.host, Mock::Twilio.port, 'POST', URL, nil, data.to_json, headers.merge!({ 'X-Twilio-Signature': signature, 'Content-Type': 'application/json' }), auth_twilio, nil) case response.status when 200..204 response when 400..600 raise Webhooks::RestError, Mock::Twilio::ErrorHandler.new(response).raise end end |