thrift/lib/rb/spec/httpclient_spec.rb

32 lines
930 B
Ruby
Raw Normal View History

require File.dirname(__FILE__) + '/spec_helper'
require 'thrift/transport/httpclient'
class ThriftHTTPClientSpec < Spec::ExampleGroup
include Thrift
describe HTTPClient do
before(:each) do
@client = HTTPClient.new("http://my.domain.com/path/to/service")
end
it "should always be open" do
@client.should be_open
@client.close
@client.should be_open
end
it "should post via HTTP and return the results" do
@client.write "a test"
@client.write " frame"
Net::HTTP.should_receive(:new).with("my.domain.com", 80).and_return do
mock("Net::HTTP").tee do |http|
http.should_receive(:use_ssl=).with(false)
http.should_receive(:post).with("/path/to/service", "a test frame", {"Content-Type"=>"application/x-thrift"}).and_return([nil, "data"])
end
end
@client.flush
@client.read(10).should == "data"
end
end
end