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