Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

101 lines (88 sloc) 4.458 kb
require 'spec_helper'
describe Twilio::REST::Client do
it 'should not raise an error if the response body is empty' do
FakeWeb.register_uri(:any, %r/api\.twilio\.com/, :body => '')
twilio = Twilio::REST::Client.new('someSid', 'someToken')
Twilio::REST::IncomingPhoneNumber.new('/phone_number', twilio).delete
end
it 'should not raise an error if the response body is nil' do
response = double(:response, :body => nil)
connection = double(:connection, :request => response)
twilio = Twilio::REST::Client.new('someSid', 'someToken')
twilio.instance_variable_set(:@connection, connection)
Twilio::REST::IncomingPhoneNumber.new('/phone_number', twilio).delete
end
it 'should set up a new client instance with the given sid and token' do
twilio = Twilio::REST::Client.new('someSid', 'someToken')
twilio.account_sid.should == 'someSid'
twilio.instance_variable_get('@auth_token').should == 'someToken'
end
it 'should set up the proper default http ssl connection' do
twilio = Twilio::REST::Client.new('someSid', 'someToken')
connection = twilio.instance_variable_get('@connection')
connection.address.should == 'api.twilio.com'
connection.port.should == 443
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')
connection = twilio.instance_variable_get('@connection')
connection.address.should == 'api.faketwilio.com'
connection.port.should == 443
connection.use_ssl?.should == true
end
it 'should adjust the open and read timeouts on the underlying Net::HTTP object when asked' do
timeout = rand(30)
twilio = Twilio::REST::Client.new('someSid', 'someToken', :timeout => timeout)
connection = twilio.instance_variable_get('@connection')
connection.port.should == 443
connection.use_ssl?.should == true
connection.open_timeout.should == timeout
connection.read_timeout.should == timeout
end
it 'should set up the proper http ssl connection when a proxy_host is given' do
twilio = Twilio::REST::Client.new('someSid', 'someToken', :host => 'api.faketwilio.com', :proxy_addr => 'localhost')
connection = twilio.instance_variable_get('@connection')
connection.proxy?.should == true
connection.proxy_address.should == 'localhost'
connection.proxy_port.should == 80
connection.address.should == 'api.faketwilio.com'
connection.port.should == 443
connection.use_ssl?.should == true
end
it 'should set up the proper http ssl connection when a proxy_host and proxy_port are given' do
twilio = Twilio::REST::Client.new('someSid', 'someToken', :host => 'api.faketwilio.com', :proxy_addr => 'localhost', :proxy_port => 13128)
connection = twilio.instance_variable_get('@connection')
connection.proxy?.should == true
connection.proxy_address.should == 'localhost'
connection.proxy_port.should == 13128
connection.address.should == 'api.faketwilio.com'
connection.port.should == 443
connection.use_ssl?.should == true
end
it 'should set up an accounts resources object' do
twilio = Twilio::REST::Client.new('someSid', 'someToken')
twilio.respond_to?(:accounts).should == true
twilio.accounts.instance_variable_get('@uri').should == '/2010-04-01/Accounts'
end
it 'should set up an account object with the given sid' do
twilio = Twilio::REST::Client.new('someSid', 'someToken')
twilio.respond_to?(:account).should == true
twilio.account.instance_variable_get('@uri').should == '/2010-04-01/Accounts/someSid'
end
it 'should convert all parameter names to Twilio-style names' do
twilio = Twilio::REST::Client.new('someSid', 'someToken')
untwilified = {:sms_url => 'someUrl', 'voiceFallbackUrl' => 'anotherUrl',
'Status_callback' => 'yetAnotherUrl'}
twilified = {:SmsUrl => 'someUrl', :VoiceFallbackUrl => 'anotherUrl',
:StatusCallback => 'yetAnotherUrl'}
twilio.instance_eval do
twilify(untwilified).should == twilified
end
end
end
Jump to Line
Something went wrong with that request. Please try again.