sham_rack 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.markdown +5 -0
- data/VERSION.yml +1 -1
- data/lib/sham_rack/http.rb +19 -0
- data/sham_rack.gemspec +2 -2
- data/spec/sham_rack_spec.rb +36 -0
- metadata +2 -2
data/CHANGES.markdown
CHANGED
data/VERSION.yml
CHANGED
data/lib/sham_rack/http.rb
CHANGED
@@ -29,6 +29,22 @@ module ShamRack
|
|
29
29
|
return response
|
30
30
|
end
|
31
31
|
|
32
|
+
def request_get(path, initheader = nil, &block)
|
33
|
+
request Net::HTTP::Get.new(path, initheader), &block
|
34
|
+
end
|
35
|
+
|
36
|
+
def request_head(path, initheader = nil, &block)
|
37
|
+
request Net::HTTP::Head.new(path, initheader), &block
|
38
|
+
end
|
39
|
+
|
40
|
+
def request_post(path, data, initheader = nil, &block)
|
41
|
+
request Net::HTTP::Post.new(path, initheader), data, &block
|
42
|
+
end
|
43
|
+
|
44
|
+
def request_put(path, data, initheader = nil, &block)
|
45
|
+
request Net::HTTP::Put.new(path, initheader), data, &block
|
46
|
+
end
|
47
|
+
|
32
48
|
private
|
33
49
|
|
34
50
|
def default_env
|
@@ -84,6 +100,9 @@ module ShamRack
|
|
84
100
|
response = Net::HTTPResponse.send(:response_class, code).new("Sham", code, message)
|
85
101
|
response.instance_variable_set(:@body, assemble_body(body))
|
86
102
|
response.instance_variable_set(:@read, true)
|
103
|
+
headers.each do |k,v|
|
104
|
+
response.add_field(k, v)
|
105
|
+
end
|
87
106
|
response.extend ShamRack::ResponseExtensions
|
88
107
|
return response
|
89
108
|
end
|
data/sham_rack.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{sham_rack}
|
5
|
-
s.version = "1.1.
|
5
|
+
s.version = "1.1.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Mike Williams"]
|
9
|
-
s.date = %q{2009-06-
|
9
|
+
s.date = %q{2009-06-05}
|
10
10
|
s.description = %q{ShamRack plumbs Net::HTTP directly into Rack, for quick and easy HTTP testing.}
|
11
11
|
s.email = %q{mdub@dogbiscuit.org}
|
12
12
|
s.extra_rdoc_files = [
|
data/spec/sham_rack_spec.rb
CHANGED
@@ -75,6 +75,11 @@ describe ShamRack do
|
|
75
75
|
response.body.should == "Hello, world"
|
76
76
|
end
|
77
77
|
|
78
|
+
it "can be accessed using Net::HTTP#get_response" do
|
79
|
+
response = Net::HTTP.get_response(URI.parse("http://www.test.xyz/"))
|
80
|
+
response.body.should == "Hello, world"
|
81
|
+
end
|
82
|
+
|
78
83
|
it "can be accessed using open-uri" do
|
79
84
|
response = open("http://www.test.xyz")
|
80
85
|
response.status.should == ["200", "OK"]
|
@@ -89,6 +94,37 @@ describe ShamRack do
|
|
89
94
|
|
90
95
|
end
|
91
96
|
|
97
|
+
describe "response" do
|
98
|
+
|
99
|
+
before(:each) do
|
100
|
+
ShamRack.at("www.test.xyz") do
|
101
|
+
[
|
102
|
+
"201 Created",
|
103
|
+
{ "Content-Type" => "text/plain", "X-Foo" => "bar" },
|
104
|
+
"BODY"
|
105
|
+
]
|
106
|
+
end
|
107
|
+
@response = Net::HTTP.get_response(URI.parse("http://www.test.xyz/"))
|
108
|
+
end
|
109
|
+
|
110
|
+
it "has status returned by app" do
|
111
|
+
@response.code.should == "201"
|
112
|
+
end
|
113
|
+
|
114
|
+
it "has body returned by app" do
|
115
|
+
@response.body.should == "BODY"
|
116
|
+
end
|
117
|
+
|
118
|
+
it "has Content-Type returned by app" do
|
119
|
+
@response.content_type.should == "text/plain"
|
120
|
+
end
|
121
|
+
|
122
|
+
it "has other headers returned by app" do
|
123
|
+
@response["x-foo"].should =="bar"
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
127
|
+
|
92
128
|
describe "#at" do
|
93
129
|
|
94
130
|
describe "with a block" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sham_rack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Williams
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-06-
|
12
|
+
date: 2009-06-05 00:00:00 +10:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|