test/twilio_spec.rb in twilio-ruby-3.4.0 vs test/twilio_spec.rb in twilio-ruby-3.4.1

- old
+ new

@@ -19,10 +19,16 @@ twilio.instance_variable_get('@connection').address.should == 'api.twilio.com' twilio.instance_variable_get('@connection').port.should == 443 twilio.instance_variable_get('@connection').use_ssl?.should == true end + it 'should set up the requested ssl verification ca_file if provided' do + twilio = Twilio::REST::Client.new('someSid', 'someToken', :ssl_ca_file => '/path/to/ca/file') + connection = twilio.instance_variable_get('@connection') + connection.ca_file.should == '/path/to/ca/file' + end + it 'should set up the proper http ssl connection when a different domain is given' do twilio = Twilio::REST::Client.new('someSid', 'someToken', :host => 'api.faketwilio.com') twilio.instance_variable_get('@connection').address.should == 'api.faketwilio.com' twilio.instance_variable_get('@connection').port.should == 443 twilio.instance_variable_get('@connection').use_ssl?.should == true @@ -180,42 +186,68 @@ call.transcriptions.instance_variable_get('@uri').should == 'someUri/Transcriptions' end end describe Twilio::Util::RequestValidator do - it 'should properly validate a Twilio request based on its signature' do - token = '1c892n40nd03kdnc0112slzkl3091j20' + it 'should properly validate a Twilio Voice request' do + token = '2bd9e9638872de601313dc77410d3b23' validator = Twilio::Util::RequestValidator.new token - url = 'http://www.postbin.org/1ed898x' + url = 'http://twiliotests.heroku.com/validate/voice' params = { - 'AccountSid' => 'AC9a9f9392lad99kla0sklakjs90j092j3', - 'ApiVersion' => '2010-04-01', - 'CallSid' => 'CAd800bb12c0426a7ea4230e492fef2a4f', - 'CallStatus' => 'ringing', - 'Called' => '+15306384866', - 'CalledCity' => 'OAKLAND', - 'CalledCountry' => 'US', - 'CalledState' => 'CA', - 'CalledZip' => '94612', - 'Caller' => '+15306666666', - 'CallerCity' => 'SOUTH LAKE TAHOE', - 'CallerCountry' => 'US', - 'CallerName' => 'CA Wireless Call', - 'CallerState' => 'CA', - 'CallerZip' => '89449', + 'ToState' => 'California', + 'CalledState' => 'California', 'Direction' => 'inbound', - 'From' => '+15306666666', - 'FromCity' => 'SOUTH LAKE TAHOE', - 'FromCountry' => 'US', 'FromState' => 'CA', - 'FromZip' => '89449', - 'To' => '+15306384866', - 'ToCity' => 'OAKLAND', + 'AccountSid' => 'ACba8bc05eacf94afdae398e642c9cc32d', + 'Caller' => '+14153595711', + 'CallerZip' => '94108', + 'CallerCountry' => 'US', + 'From' => '+14153595711', + 'FromCity' => 'SAN FRANCISCO', + 'CallerCity' => 'SAN FRANCISCO', + 'To' => '+14157669926', + 'FromZip' => '94108', + 'FromCountry' => 'US', + 'ToCity' => '', + 'CallStatus' => 'ringing', + 'CalledCity' => '', + 'CallerState' => 'CA', + 'CalledZip' => '', + 'ToZip' => '', 'ToCountry' => 'US', + 'CallSid' => 'CA136d09cd59a3c0ec8dbff44da5c03f31', + 'CalledCountry' => 'US', + 'Called' => '+14157669926', + 'ApiVersion' => '2010-04-01', + 'ApplicationSid' => 'AP44efecad51364e80b133bb7c07eb8204' + } + signature = 'oVb2kXoVy8GEfwBDjR8bk/ZZ6eA=' + validator.validate(url, params, signature).should == true + end + + it 'should properly validate a Twilio SMS request' do + token = '2bd9e9638872de601313dc77410d3b23' + validator = Twilio::Util::RequestValidator.new token + url = 'http://twiliotests.heroku.com/validate/sms' + params = { 'ToState' => 'CA', - 'ToZip' => '94612' + 'FromState' => 'CA', + 'AccountSid' => 'ACba8bc05eacf94afdae398e642c9cc32d', + 'SmsMessageSid' => 'SM2003cbd5e6a3701999aa3e5f20ff2787', + 'Body' => 'Orly', + 'From' => '+14159354345', + 'FromCity' => 'SAN FRANCISCO', + 'SmsStatus' => 'received', + 'FromZip' => '94107', + 'FromCountry' => 'US', + 'To' => '+14158141819', + 'ToCity' => 'SAN FRANCISCO', + 'ToZip' => '94105', + 'ToCountry' => 'US', + 'ApiVersion' => '2010-04-01', + 'SmsSid' => 'SM2003cbd5e6a3701999aa3e5f20ff2787' } - signature = 'fF+xx6dTinOaCdZ0aIeNkHr/ZAA=' + signature = 'mxeiv65lEe0b8L6LdVw2jgJi8yw=' validator.validate(url, params, signature).should == true end end describe Twilio::Util::Capability do