Sha256: 70be16ee58f39fc3a2ed0f6075f576c647d0e958b7d765fb32ac632ca666694c

Contents?: true

Size: 1.77 KB

Versions: 12

Compression:

Stored size: 1.77 KB

Contents

require 'spec_helper'

module Seahorse
  module Client
    module Http
      describe Response do

        describe '#status_code' do

          it 'defaults to 0' do
            expect(Response.new.status_code).to eq(0)
          end

          it 'can be set' do
            resp = Response.new
            resp.status_code = 500
            expect(resp.status_code).to eq(500)
          end

        end

        describe '#headers' do

          it 'is a Http::Headers' do
            expect(Response.new.headers).to be_kind_of(Headers)
          end

          it 'defaults to a empty hash' do
            expect(Response.new.headers.to_h).to eq({})
          end

          it 'can be set' do
            headers = Headers.new
            response = Response.new
            response.headers = headers
            expect(response.headers).to be(headers)
          end

        end

        describe '#body' do

          it 'defaults to an IO object' do
            expect(Response.new.body).to respond_to(:write)
            expect(Response.new.body).to respond_to(:read)
            expect(Response.new.body).to respond_to(:rewind)
          end

          it 'defaults to an empty body' do
            body = Response.new.body
            body.rewind
            expect(body.read).to eq('')
          end

          it 'can be set' do
            body = Object.new
            response = Response.new
            response.body = body
            expect(response.body).to be(body)
          end

        end

        describe '#body_contents' do

          it 'returns the body as a string' do
            response = Response.new
            response.body = StringIO.new('abc')
            expect(response.body_contents).to eq(response.body.read)
          end

        end

      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
aws-sdk-core-2.0.0.rc12 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc11 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc10 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc9 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc8 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc7 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc6 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc5 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc4 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc3 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc2 vendor/seahorse/spec/seahorse/client/http/response_spec.rb
aws-sdk-core-2.0.0.rc1 vendor/seahorse/spec/seahorse/client/http/response_spec.rb