require 'spec_helper' describe Faraday::CookieJar do let(:conn) { Faraday.new(:url => 'http://faraday.example.com') } let(:cookie_jar) { HTTP::CookieJar.new } before do conn.use :cookie_jar conn.adapter :net_http # for sham_rock end it 'get default cookie' do conn.get('/default') expect(conn.get('/dump').body).to eq('foo=bar') end it 'does not send cookies to wrong path' do conn.get('/path') expect(conn.get('/dump').body).to_not eq('foo=bar') end it 'expires cookie' do conn.get('/expires') expect(conn.get('/dump').body).to eq('foo=bar') sleep 2 expect(conn.get('/dump').body).to_not eq('foo=bar') end it 'fills an injected cookie jar' do conn_with_jar = Faraday.new(:url => 'http://faraday.example.com') do |conn| conn.use :cookie_jar, jar: cookie_jar conn.adapter :net_http # for sham_rock end conn_with_jar.get('/default') expect(cookie_jar.empty?).to be_false end it 'multiple cookies' do conn.get('/default') response = conn.send('get') do |request| request.url '/multiple_cookies' request.headers.merge!({:Cookie => 'language=english'}) end expect(response.body).to eq('foo=bar;language=english') end end