Sha256: 52bca5d3035b7bc3777c9e21f14d6dcdfccb0a23ff36705db65086dfd90a1d56

Contents?: true

Size: 900 Bytes

Versions: 2

Compression:

Stored size: 900 Bytes

Contents

# encoding: utf-8

require 'spec_helper'

describe HTTPkit::Client::MandatoryHandler do
  describe '#perform' do
    let(:handler) { described_class.new }
    let(:request) { HTTPkit::Request.new(:get, '/', headers) }
    let(:headers) { {} }

    subject! do
      handler.setup({ address: 'example.net', port: 80 }, nil, nil)
      handler.perform(request) { |req| @request = req }
    end

    it 'sets User-Agent and Host headers' do
      expect(@request.headers['User-Agent'])
        .to eq("httpkit/#{HTTPkit::VERSION}")
      expect(@request.headers['Host']).to eq('example.net:80')
    end

    describe 'with User-Agent or Host header set to anything' do
      let(:headers) { { 'User-Agent' => nil, 'Host' => nil } }

      it 'does not override' do
        expect(@request.headers['User-Agent']).to be(nil)
        expect(@request.headers['Host']).to be(nil)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
httpkit-0.6.0 spec/unit/client/mandatory_handler_spec.rb
httpkit-0.6.0.pre.5 spec/unit/client/mandatory_handler_spec.rb