Added v 0.3.1 snapshot.
[twitter4r-core.git] / spec / twitter / client / auth_spec.rb
blobe49820422df08b44b5870a2d5540ae8146bcfd90
1 require File.join(File.dirname(__FILE__), '..', '..', 'spec_helper')
3 describe Twitter::Client, "#authenticate?" do
4   before(:each) do
5     @uri = '/account/verify_credentials.json'
6     @request = mas_net_http_get(:basic_auth => nil)
7     @twitter = client_context
8     @default_header = @twitter.send(:http_header)
9     @response = mas_net_http_response(:success)
10     @error_response = mas_net_http_response(404, "Resource Not Found")
11     @connection = mas_net_http(@response)
12     Net::HTTP.stub!(:new).and_return(@connection)
13     @login = "applestillsucks"
14     @password = "linuxstillrocks"
15   end
16   
17   it "creates expected HTTP GET request" do
18     @twitter.should_receive(:create_http_get_request).with(@uri).and_return(@request)
19     @twitter.authenticate?(@login, @password)
20   end
21   
22   it "should return true if HTTP response is 20X" do
23     @twitter.authenticate?(@login, @password).should be(true)
24   end
25   
26   it "should return false if HTTP response is not 20X" do
27     Net::HTTP.stub!(:new).and_return(mas_net_http(@error_response))
28     @twitter.authenticate?(@login, @password).should be(false)
29   end
30   
31   after(:each) do
32     nilize(@uri, @request, @twitter, @default_header, @response, @error_response, @connection, @login, @password)
33   end
34 end