summaryrefslogtreecommitdiff
path: root/spec/ruby/library/net-http/http/new_spec.rb
blob: 1ec6bbd0c043d7d122ba6d6959d3780f71877592 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
require_relative '../../../spec_helper'
require 'net/http'

describe "Net::HTTP.new" do
  describe "when passed address" do
    before :each do
      @http = Net::HTTP.new("localhost")
    end

    it "returns a Net::HTTP instance" do
      @http.proxy?.should be_false
      @http.instance_of?(Net::HTTP).should be_true
    end

    it "sets the new Net::HTTP instance's address to the passed address" do
      @http.address.should == "localhost"
    end

    it "sets the new Net::HTTP instance's port to the default HTTP port" do
      @http.port.should eql(Net::HTTP.default_port)
    end

    it "does not start the new Net::HTTP instance" do
      @http.started?.should be_false
    end
  end

  describe "when passed address, port" do
    before :each do
      @http = Net::HTTP.new("localhost", 3333)
    end

    it "returns a Net::HTTP instance" do
      @http.proxy?.should be_false
      @http.instance_of?(Net::HTTP).should be_true
    end

    it "sets the new Net::HTTP instance's address to the passed address" do
      @http.address.should == "localhost"
    end

    it "sets the new Net::HTTP instance's port to the passed port" do
      @http.port.should eql(3333)
    end

    it "does not start the new Net::HTTP instance" do
      @http.started?.should be_false
    end
  end

  describe "when passed address, port, *proxy_options" do
    it "returns a Net::HTTP instance" do
      http = Net::HTTP.new("localhost", 3333, "localhost")
      http.proxy?.should be_true
      http.instance_of?(Net::HTTP).should be_true
      http.should be_kind_of(Net::HTTP)
    end

    it "correctly sets the passed Proxy options" do
      http = Net::HTTP.new("localhost", 3333, "localhost")
      http.proxy_address.should == "localhost"
      http.proxy_port.should eql(80)
      http.proxy_user.should be_nil
      http.proxy_pass.should be_nil

      http = Net::HTTP.new("localhost", 3333, "localhost", 1234)
      http.proxy_address.should == "localhost"
      http.proxy_port.should eql(1234)
      http.proxy_user.should be_nil
      http.proxy_pass.should be_nil

      http = Net::HTTP.new("localhost", 3333, "localhost", 1234, "rubyspec")
      http.proxy_address.should == "localhost"
      http.proxy_port.should eql(1234)
      http.proxy_user.should == "rubyspec"
      http.proxy_pass.should be_nil

      http = Net::HTTP.new("localhost", 3333, "localhost", 1234, "rubyspec", "rocks")
      http.proxy_address.should == "localhost"
      http.proxy_port.should eql(1234)
      http.proxy_user.should == "rubyspec"
      http.proxy_pass.should == "rocks"
    end
  end

end