Sha256: 03db515d0efee9c3add12a97c7ccbf3b6c0743345177b2a1a017eb39ae43c1dd

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

require "spec_helper"
require "httpi/adapter/curb"
require "httpi/request"

require "curb"

describe HTTPI::Adapter::Curb do
  let(:adapter) { HTTPI::Adapter::Curb.new }

  describe ".new" do
    it "should require the Curb gem" do
      HTTPI::Adapter::Curb.any_instance.expects(:require).with("curb")
      HTTPI::Adapter::Curb.new
    end
  end

  describe "#get" do
    before do
      curb.expects(:http_get)
      curb.expects(:response_code).returns(200)
      curb.expects(:headers).returns(Hash.new)
      curb.expects(:body_str).returns(Fixture.xml)
    end

    it "should return a valid HTTPI::Response" do
      request = HTTPI::Request.new :url => "http://example.com"
      adapter.get(request).should be_a_valid_httpi_response
    end
  end

  describe "#post" do
    before do
      curb.expects(:http_post)
      curb.expects(:response_code).returns(200)
      curb.expects(:headers).returns(Hash.new)
      curb.expects(:body_str).returns(Fixture.xml)
    end

    it "should return a valid HTTPI::Response" do
      request = HTTPI::Request.new :url => "http://example.com"
      adapter.post(request).should be_a_valid_httpi_response
    end
  end

  def curb
    Curl::Easy.any_instance
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
httpi-0.3.0 spec/httpi/adapter/curb_spec.rb
httpi-0.2.0 spec/httpi/adapter/curb_spec.rb