fakeweb 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,58 @@
1
+ require File.join(File.dirname(__FILE__), "test_helper")
2
+
3
+ class TestDeprecations < Test::Unit::TestCase
4
+
5
+ def setup
6
+ FakeWeb.clean_registry
7
+ end
8
+
9
+ def test_register_uri_without_method_argument_prints_deprecation_warning
10
+ warning = capture_stderr do
11
+ FakeWeb.register_uri("http://example.com", :body => "test")
12
+ end
13
+ assert_match /deprecation warning: fakeweb/i, warning
14
+ end
15
+
16
+ def test_registered_uri_without_method_argument_prints_deprecation_warning
17
+ warning = capture_stderr do
18
+ FakeWeb.registered_uri?("http://example.com")
19
+ end
20
+ assert_match /deprecation warning: fakeweb/i, warning
21
+ end
22
+
23
+ def test_response_for_without_method_argument_prints_deprecation_warning
24
+ warning = capture_stderr do
25
+ FakeWeb.response_for("http://example.com")
26
+ end
27
+ assert_match /deprecation warning: fakeweb/i, warning
28
+ end
29
+
30
+ def test_register_uri_without_method_argument_prints_deprecation_warning_with_correct_caller
31
+ warning = capture_stderr do
32
+ FakeWeb.register_uri("http://example.com", :body => "test")
33
+ end
34
+ assert_match /Called at.*?test_deprecations\.rb/i, warning
35
+ end
36
+
37
+ def test_register_uri_with_string_option_prints_deprecation_warning
38
+ warning = capture_stderr do
39
+ FakeWeb.register_uri(:get, "http://example.com", :string => "test")
40
+ end
41
+ assert_match /deprecation warning: fakeweb's :string option/i, warning
42
+ end
43
+
44
+ def test_register_uri_with_file_option_prints_deprecation_warning
45
+ warning = capture_stderr do
46
+ FakeWeb.register_uri(:get, "http://example.com", :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
47
+ end
48
+ assert_match /deprecation warning: fakeweb's :file option/i, warning
49
+ end
50
+
51
+ def test_register_uri_with_string_option_prints_deprecation_warning_with_correct_caller
52
+ warning = capture_stderr do
53
+ FakeWeb.register_uri(:get, "http://example.com", :string => "test")
54
+ end
55
+ assert_match /Called at.*?test_deprecations\.rb/i, warning
56
+ end
57
+
58
+ end
@@ -2,48 +2,48 @@ require File.join(File.dirname(__FILE__), "test_helper")
2
2
 
3
3
  class TestFakeAuthentication < Test::Unit::TestCase
4
4
  def setup
5
- FakeWeb.register_uri('http://user:pass@mock/auth.txt', :string => 'authorized')
6
- FakeWeb.register_uri('http://user2:pass@mock/auth.txt', :string => 'wrong user')
7
- FakeWeb.register_uri('http://mock/auth.txt', :string => 'unauthorized')
5
+ FakeWeb.register_uri(:get, 'http://user:pass@mock/auth.txt', :body => 'authorized')
6
+ FakeWeb.register_uri(:get, 'http://user2:pass@mock/auth.txt', :body => 'wrong user')
7
+ FakeWeb.register_uri(:get, 'http://mock/auth.txt', :body => 'unauthorized')
8
8
  end
9
9
 
10
10
  def test_register_uri_with_authentication
11
- FakeWeb.register_uri('http://user:pass@mock/test_example.txt', :string => "example")
12
- assert FakeWeb.registered_uri?('http://user:pass@mock/test_example.txt')
11
+ FakeWeb.register_uri(:get, 'http://user:pass@mock/test_example.txt', :body => "example")
12
+ assert FakeWeb.registered_uri?(:get, 'http://user:pass@mock/test_example.txt')
13
13
  end
14
14
 
15
15
  def test_register_uri_with_authentication_doesnt_trigger_without
16
- FakeWeb.register_uri('http://user:pass@mock/test_example.txt', :string => "example")
17
- assert !FakeWeb.registered_uri?('http://mock/test_example.txt')
16
+ FakeWeb.register_uri(:get, 'http://user:pass@mock/test_example.txt', :body => "example")
17
+ assert !FakeWeb.registered_uri?(:get, 'http://mock/test_example.txt')
18
18
  end
19
19
 
20
20
  def test_register_uri_with_authentication_doesnt_trigger_with_incorrect_credentials
21
- FakeWeb.register_uri('http://user:pass@mock/test_example.txt', :string => "example")
22
- assert !FakeWeb.registered_uri?('http://user:wrong@mock/test_example.txt')
21
+ FakeWeb.register_uri(:get, 'http://user:pass@mock/test_example.txt', :body => "example")
22
+ assert !FakeWeb.registered_uri?(:get, 'http://user:wrong@mock/test_example.txt')
23
23
  end
24
24
 
25
25
  def test_unauthenticated_request
26
26
  http = Net::HTTP.new('mock', 80)
27
27
  req = Net::HTTP::Get.new('/auth.txt')
28
- assert_equal http.request(req).body, 'unauthorized'
28
+ assert_equal 'unauthorized', http.request(req).body
29
29
  end
30
30
 
31
31
  def test_authenticated_request
32
32
  http = Net::HTTP.new('mock',80)
33
33
  req = Net::HTTP::Get.new('/auth.txt')
34
34
  req.basic_auth 'user', 'pass'
35
- assert_equal http.request(req).body, 'authorized'
35
+ assert_equal 'authorized', http.request(req).body
36
36
  end
37
37
 
38
38
  def test_incorrectly_authenticated_request
39
39
  http = Net::HTTP.new('mock',80)
40
40
  req = Net::HTTP::Get.new('/auth.txt')
41
41
  req.basic_auth 'user2', 'pass'
42
- assert_equal http.request(req).body, 'wrong user'
42
+ assert_equal 'wrong user', http.request(req).body
43
43
  end
44
44
 
45
45
  def test_basic_auth_support_is_transparent_to_oauth
46
- FakeWeb.register_uri(:get, "http://sp.example.com/protected", :string => "secret")
46
+ FakeWeb.register_uri(:get, "http://sp.example.com/protected", :body => "secret")
47
47
 
48
48
  # from http://oauth.net/core/1.0/#auth_header
49
49
  auth_header = <<-HEADER
@@ -8,8 +8,8 @@ class TestFakeWeb < Test::Unit::TestCase
8
8
  end
9
9
 
10
10
  def test_register_uri
11
- FakeWeb.register_uri('http://mock/test_example.txt', :string => "example")
12
- assert FakeWeb.registered_uri?('http://mock/test_example.txt')
11
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => "example")
12
+ assert FakeWeb.registered_uri?(:get, 'http://mock/test_example.txt')
13
13
  end
14
14
 
15
15
  def test_register_uri_with_wrong_number_of_arguments
@@ -17,7 +17,7 @@ class TestFakeWeb < Test::Unit::TestCase
17
17
  FakeWeb.register_uri("http://example.com")
18
18
  end
19
19
  assert_raises ArgumentError do
20
- FakeWeb.register_uri(:get, "http://example.com", "/example", :string => "example")
20
+ FakeWeb.register_uri(:get, "http://example.com", "/example", :body => "example")
21
21
  end
22
22
  end
23
23
 
@@ -41,92 +41,96 @@ class TestFakeWeb < Test::Unit::TestCase
41
41
 
42
42
  def test_register_uri_without_domain_name
43
43
  assert_raises URI::InvalidURIError do
44
- FakeWeb.register_uri('test_example2.txt', File.dirname(__FILE__) + '/fixtures/test_example.txt')
44
+ FakeWeb.register_uri(:get, 'test_example2.txt', File.dirname(__FILE__) + '/fixtures/test_example.txt')
45
45
  end
46
46
  end
47
47
 
48
48
  def test_register_uri_with_port_and_check_with_port
49
- FakeWeb.register_uri('http://example.com:3000/', :string => 'foo')
50
- assert FakeWeb.registered_uri?('http://example.com:3000/')
49
+ FakeWeb.register_uri(:get, 'http://example.com:3000/', :body => 'foo')
50
+ assert FakeWeb.registered_uri?(:get, 'http://example.com:3000/')
51
51
  end
52
52
 
53
53
  def test_register_uri_with_port_and_check_without_port
54
- FakeWeb.register_uri('http://example.com:3000/', :string => 'foo')
55
- assert !FakeWeb.registered_uri?('http://example.com/')
54
+ FakeWeb.register_uri(:get, 'http://example.com:3000/', :body => 'foo')
55
+ assert !FakeWeb.registered_uri?(:get, 'http://example.com/')
56
56
  end
57
57
 
58
58
  def test_register_uri_with_default_port_for_http_and_check_without_port
59
- FakeWeb.register_uri('http://example.com:80/', :string => 'foo')
60
- assert FakeWeb.registered_uri?('http://example.com/')
59
+ FakeWeb.register_uri(:get, 'http://example.com:80/', :body => 'foo')
60
+ assert FakeWeb.registered_uri?(:get, 'http://example.com/')
61
61
  end
62
62
 
63
63
  def test_register_uri_with_default_port_for_https_and_check_without_port
64
- FakeWeb.register_uri('https://example.com:443/', :string => 'foo')
65
- assert FakeWeb.registered_uri?('https://example.com/')
64
+ FakeWeb.register_uri(:get, 'https://example.com:443/', :body => 'foo')
65
+ assert FakeWeb.registered_uri?(:get, 'https://example.com/')
66
66
  end
67
67
 
68
68
  def test_register_uri_with_no_port_for_http_and_check_with_default_port
69
- FakeWeb.register_uri('http://example.com/', :string => 'foo')
70
- assert FakeWeb.registered_uri?('http://example.com:80/')
69
+ FakeWeb.register_uri(:get, 'http://example.com/', :body => 'foo')
70
+ assert FakeWeb.registered_uri?(:get, 'http://example.com:80/')
71
71
  end
72
72
 
73
73
  def test_register_uri_with_no_port_for_https_and_check_with_default_port
74
- FakeWeb.register_uri('https://example.com/', :string => 'foo')
75
- assert FakeWeb.registered_uri?('https://example.com:443/')
74
+ FakeWeb.register_uri(:get, 'https://example.com/', :body => 'foo')
75
+ assert FakeWeb.registered_uri?(:get, 'https://example.com:443/')
76
76
  end
77
77
 
78
78
  def test_register_uri_with_no_port_for_https_and_check_with_443_on_http
79
- FakeWeb.register_uri('https://example.com/', :string => 'foo')
80
- assert !FakeWeb.registered_uri?('http://example.com:443/')
79
+ FakeWeb.register_uri(:get, 'https://example.com/', :body => 'foo')
80
+ assert !FakeWeb.registered_uri?(:get, 'http://example.com:443/')
81
81
  end
82
82
 
83
83
  def test_register_uri_with_no_port_for_http_and_check_with_80_on_https
84
- FakeWeb.register_uri('http://example.com/', :string => 'foo')
85
- assert !FakeWeb.registered_uri?('https://example.com:80/')
84
+ FakeWeb.register_uri(:get, 'http://example.com/', :body => 'foo')
85
+ assert !FakeWeb.registered_uri?(:get, 'https://example.com:80/')
86
86
  end
87
87
 
88
88
  def test_register_uri_for_any_method_explicitly
89
- FakeWeb.register_uri(:any, "http://example.com/rpc_endpoint", :string => "OK")
89
+ FakeWeb.register_uri(:any, "http://example.com/rpc_endpoint", :body => "OK")
90
90
  assert FakeWeb.registered_uri?(:get, "http://example.com/rpc_endpoint")
91
91
  assert FakeWeb.registered_uri?(:post, "http://example.com/rpc_endpoint")
92
92
  assert FakeWeb.registered_uri?(:put, "http://example.com/rpc_endpoint")
93
93
  assert FakeWeb.registered_uri?(:delete, "http://example.com/rpc_endpoint")
94
94
  assert FakeWeb.registered_uri?(:any, "http://example.com/rpc_endpoint")
95
- assert FakeWeb.registered_uri?("http://example.com/rpc_endpoint")
95
+ capture_stderr do # silence deprecation warning
96
+ assert FakeWeb.registered_uri?("http://example.com/rpc_endpoint")
97
+ end
96
98
  end
97
99
 
98
100
  def test_register_uri_for_get_method_only
99
- FakeWeb.register_uri(:get, "http://example.com/users", :string => "User list")
101
+ FakeWeb.register_uri(:get, "http://example.com/users", :body => "User list")
100
102
  assert FakeWeb.registered_uri?(:get, "http://example.com/users")
101
103
  assert !FakeWeb.registered_uri?(:post, "http://example.com/users")
102
104
  assert !FakeWeb.registered_uri?(:put, "http://example.com/users")
103
105
  assert !FakeWeb.registered_uri?(:delete, "http://example.com/users")
104
106
  assert !FakeWeb.registered_uri?(:any, "http://example.com/users")
105
- assert !FakeWeb.registered_uri?("http://example.com/users")
107
+ capture_stderr do # silence deprecation warning
108
+ assert !FakeWeb.registered_uri?("http://example.com/users")
109
+ end
106
110
  end
107
111
 
108
112
  def test_response_for_with_registered_uri
109
- FakeWeb.register_uri('http://mock/test_example.txt', :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
110
- assert_equal 'test example content', FakeWeb.response_for('http://mock/test_example.txt').body
113
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
114
+ assert_equal 'test example content', FakeWeb.response_for(:get, 'http://mock/test_example.txt').body
111
115
  end
112
116
 
113
117
  def test_response_for_with_unknown_uri
114
- assert_equal nil, FakeWeb.response_for(:get, 'http://example.com/')
118
+ assert_nil FakeWeb.response_for(:get, 'http://example.com/')
115
119
  end
116
120
 
117
121
  def test_response_for_with_put_method
118
- FakeWeb.register_uri(:put, "http://example.com", :string => "response")
122
+ FakeWeb.register_uri(:put, "http://example.com", :body => "response")
119
123
  assert_equal 'response', FakeWeb.response_for(:put, "http://example.com").body
120
124
  end
121
125
 
122
126
  def test_response_for_with_any_method_explicitly
123
- FakeWeb.register_uri(:any, "http://example.com", :string => "response")
127
+ FakeWeb.register_uri(:any, "http://example.com", :body => "response")
124
128
  assert_equal 'response', FakeWeb.response_for(:get, "http://example.com").body
125
129
  assert_equal 'response', FakeWeb.response_for(:any, "http://example.com").body
126
130
  end
127
131
 
128
132
  def test_content_for_registered_uri_with_port_and_request_with_port
129
- FakeWeb.register_uri('http://example.com:3000/', :string => 'test example content')
133
+ FakeWeb.register_uri(:get, 'http://example.com:3000/', :body => 'test example content')
130
134
  Net::HTTP.start('example.com', 3000) do |http|
131
135
  response = http.get('/')
132
136
  assert_equal 'test example content', response.body
@@ -134,7 +138,7 @@ class TestFakeWeb < Test::Unit::TestCase
134
138
  end
135
139
 
136
140
  def test_content_for_registered_uri_with_default_port_for_http_and_request_without_port
137
- FakeWeb.register_uri('http://example.com:80/', :string => 'test example content')
141
+ FakeWeb.register_uri(:get, 'http://example.com:80/', :body => 'test example content')
138
142
  Net::HTTP.start('example.com') do |http|
139
143
  response = http.get('/')
140
144
  assert_equal 'test example content', response.body
@@ -142,7 +146,7 @@ class TestFakeWeb < Test::Unit::TestCase
142
146
  end
143
147
 
144
148
  def test_content_for_registered_uri_with_no_port_for_http_and_request_with_default_port
145
- FakeWeb.register_uri('http://example.com/', :string => 'test example content')
149
+ FakeWeb.register_uri(:get, 'http://example.com/', :body => 'test example content')
146
150
  Net::HTTP.start('example.com', 80) do |http|
147
151
  response = http.get('/')
148
152
  assert_equal 'test example content', response.body
@@ -150,7 +154,7 @@ class TestFakeWeb < Test::Unit::TestCase
150
154
  end
151
155
 
152
156
  def test_content_for_registered_uri_with_default_port_for_https_and_request_with_default_port
153
- FakeWeb.register_uri('https://example.com:443/', :string => 'test example content')
157
+ FakeWeb.register_uri(:get, 'https://example.com:443/', :body => 'test example content')
154
158
  http = Net::HTTP.new('example.com', 443)
155
159
  http.use_ssl = true
156
160
  response = http.get('/')
@@ -158,7 +162,7 @@ class TestFakeWeb < Test::Unit::TestCase
158
162
  end
159
163
 
160
164
  def test_content_for_registered_uri_with_no_port_for_https_and_request_with_default_port
161
- FakeWeb.register_uri('https://example.com/', :string => 'test example content')
165
+ FakeWeb.register_uri(:get, 'https://example.com/', :body => 'test example content')
162
166
  http = Net::HTTP.new('example.com', 443)
163
167
  http.use_ssl = true
164
168
  response = http.get('/')
@@ -166,8 +170,8 @@ class TestFakeWeb < Test::Unit::TestCase
166
170
  end
167
171
 
168
172
  def test_content_for_registered_uris_with_ports_on_same_domain_and_request_without_port
169
- FakeWeb.register_uri('http://example.com:3000/', :string => 'port 3000')
170
- FakeWeb.register_uri('http://example.com/', :string => 'port 80')
173
+ FakeWeb.register_uri(:get, 'http://example.com:3000/', :body => 'port 3000')
174
+ FakeWeb.register_uri(:get, 'http://example.com/', :body => 'port 80')
171
175
  Net::HTTP.start('example.com') do |http|
172
176
  response = http.get('/')
173
177
  assert_equal 'port 80', response.body
@@ -175,8 +179,8 @@ class TestFakeWeb < Test::Unit::TestCase
175
179
  end
176
180
 
177
181
  def test_content_for_registered_uris_with_ports_on_same_domain_and_request_with_port
178
- FakeWeb.register_uri('http://example.com:3000/', :string => 'port 3000')
179
- FakeWeb.register_uri('http://example.com/', :string => 'port 80')
182
+ FakeWeb.register_uri(:get, 'http://example.com:3000/', :body => 'port 3000')
183
+ FakeWeb.register_uri(:get, 'http://example.com/', :body => 'port 80')
180
184
  Net::HTTP.start('example.com', 3000) do |http|
181
185
  response = http.get('/')
182
186
  assert_equal 'port 3000', response.body
@@ -185,7 +189,7 @@ class TestFakeWeb < Test::Unit::TestCase
185
189
 
186
190
  def test_content_for_registered_uri_with_get_method_only
187
191
  FakeWeb.allow_net_connect = false
188
- FakeWeb.register_uri(:get, "http://example.com/", :string => "test example content")
192
+ FakeWeb.register_uri(:get, "http://example.com/", :body => "test example content")
189
193
  Net::HTTP.start('example.com') do |http|
190
194
  assert_equal 'test example content', http.get('/').body
191
195
  assert_raises(FakeWeb::NetConnectNotAllowedError) { http.post('/', nil) }
@@ -196,7 +200,7 @@ class TestFakeWeb < Test::Unit::TestCase
196
200
 
197
201
  def test_content_for_registered_uri_with_any_method_explicitly
198
202
  FakeWeb.allow_net_connect = false
199
- FakeWeb.register_uri(:any, "http://example.com/", :string => "test example content")
203
+ FakeWeb.register_uri(:any, "http://example.com/", :body => "test example content")
200
204
  Net::HTTP.start('example.com') do |http|
201
205
  assert_equal 'test example content', http.get('/').body
202
206
  assert_equal 'test example content', http.post('/', nil).body
@@ -207,7 +211,10 @@ class TestFakeWeb < Test::Unit::TestCase
207
211
 
208
212
  def test_content_for_registered_uri_with_any_method_implicitly
209
213
  FakeWeb.allow_net_connect = false
210
- FakeWeb.register_uri("http://example.com/", :string => "test example content")
214
+ capture_stderr do # silence deprecation warning
215
+ FakeWeb.register_uri("http://example.com/", :body => "test example content")
216
+ end
217
+
211
218
  Net::HTTP.start('example.com') do |http|
212
219
  assert_equal 'test example content', http.get('/').body
213
220
  assert_equal 'test example content', http.post('/', nil).body
@@ -217,7 +224,7 @@ class TestFakeWeb < Test::Unit::TestCase
217
224
  end
218
225
 
219
226
  def test_mock_request_with_block
220
- FakeWeb.register_uri('http://mock/test_example.txt', :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
227
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
221
228
  Net::HTTP.start('mock') do |http|
222
229
  response = http.get('/test_example.txt')
223
230
  assert_equal 'test example content', response.body
@@ -225,7 +232,7 @@ class TestFakeWeb < Test::Unit::TestCase
225
232
  end
226
233
 
227
234
  def test_mock_request_with_undocumented_full_uri_argument_style
228
- FakeWeb.register_uri('http://mock/test_example.txt', :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
235
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
229
236
  Net::HTTP.start('mock') do |query|
230
237
  response = query.get('http://mock/test_example.txt')
231
238
  assert_equal 'test example content', response.body
@@ -233,7 +240,7 @@ class TestFakeWeb < Test::Unit::TestCase
233
240
  end
234
241
 
235
242
  def test_mock_request_with_undocumented_full_uri_argument_style_and_query
236
- FakeWeb.register_uri('http://mock/test_example.txt?a=b', :string => 'test query content')
243
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt?a=b', :body => 'test query content')
237
244
  Net::HTTP.start('mock') do |query|
238
245
  response = query.get('http://mock/test_example.txt?a=b')
239
246
  assert_equal 'test query content', response.body
@@ -241,7 +248,7 @@ class TestFakeWeb < Test::Unit::TestCase
241
248
  end
242
249
 
243
250
  def test_mock_post
244
- FakeWeb.register_uri('http://mock/test_example.txt', :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
251
+ FakeWeb.register_uri(:post, 'http://mock/test_example.txt', :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
245
252
  response = nil
246
253
  Net::HTTP.start('mock') do |query|
247
254
  response = query.post('/test_example.txt', '')
@@ -251,7 +258,7 @@ class TestFakeWeb < Test::Unit::TestCase
251
258
 
252
259
  def test_mock_post_with_string_as_registered_uri
253
260
  response = nil
254
- FakeWeb.register_uri('http://mock/test_string.txt', :string => 'foo')
261
+ FakeWeb.register_uri(:post, 'http://mock/test_string.txt', :body => 'foo')
255
262
  Net::HTTP.start('mock') do |query|
256
263
  response = query.post('/test_string.txt', '')
257
264
  end
@@ -260,7 +267,7 @@ class TestFakeWeb < Test::Unit::TestCase
260
267
 
261
268
  def test_mock_get_with_request_as_registered_uri
262
269
  fake_response = Net::HTTPOK.new('1.1', '200', 'OK')
263
- FakeWeb.register_uri('http://mock/test_response', :response => fake_response)
270
+ FakeWeb.register_uri(:get, 'http://mock/test_response', :response => fake_response)
264
271
  response = nil
265
272
  Net::HTTP.start('mock') do |query|
266
273
  response = query.get('/test_response')
@@ -270,7 +277,7 @@ class TestFakeWeb < Test::Unit::TestCase
270
277
  end
271
278
 
272
279
  def test_mock_get_with_request_from_file_as_registered_uri
273
- FakeWeb.register_uri('http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_without_transfer_encoding')
280
+ FakeWeb.register_uri(:get, 'http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_without_transfer_encoding')
274
281
  response = nil
275
282
  Net::HTTP.start('www.google.com') do |query|
276
283
  response = query.get('/')
@@ -280,7 +287,7 @@ class TestFakeWeb < Test::Unit::TestCase
280
287
  end
281
288
 
282
289
  def test_mock_post_with_request_from_file_as_registered_uri
283
- FakeWeb.register_uri('http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_without_transfer_encoding')
290
+ FakeWeb.register_uri(:post, 'http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_without_transfer_encoding')
284
291
  response = nil
285
292
  Net::HTTP.start('www.google.com') do |query|
286
293
  response = query.post('/', '')
@@ -290,8 +297,8 @@ class TestFakeWeb < Test::Unit::TestCase
290
297
  end
291
298
 
292
299
  def test_proxy_request
293
- FakeWeb.register_uri('http://www.example.com/', :string => "hello world")
294
- FakeWeb.register_uri('http://your.proxy.host/', :string => "lala")
300
+ FakeWeb.register_uri(:get, 'http://www.example.com/', :body => "hello world")
301
+ FakeWeb.register_uri(:get, 'http://your.proxy.host/', :body => "lala")
295
302
  proxy_addr = 'your.proxy.host'
296
303
  proxy_port = 8080
297
304
 
@@ -302,7 +309,7 @@ class TestFakeWeb < Test::Unit::TestCase
302
309
  end
303
310
 
304
311
  def test_https_request
305
- FakeWeb.register_uri('https://www.example.com/', :string => "Hello World")
312
+ FakeWeb.register_uri(:get, 'https://www.example.com/', :body => "Hello World")
306
313
  http = Net::HTTP.new('www.example.com', 443)
307
314
  http.use_ssl = true
308
315
  response = http.get('/')
@@ -310,7 +317,7 @@ class TestFakeWeb < Test::Unit::TestCase
310
317
  end
311
318
 
312
319
  def test_register_unimplemented_response
313
- FakeWeb.register_uri('http://mock/unimplemented', :response => 1)
320
+ FakeWeb.register_uri(:get, 'http://mock/unimplemented', :response => 1)
314
321
  assert_raises StandardError do
315
322
  Net::HTTP.start('mock') { |q| q.get('/unimplemented') }
316
323
  end
@@ -352,7 +359,7 @@ class TestFakeWeb < Test::Unit::TestCase
352
359
  def test_real_request_on_same_domain_as_mock
353
360
  setup_expectations_for_real_apple_hot_news_request
354
361
 
355
- FakeWeb.register_uri('http://images.apple.com/test_string.txt', :string => 'foo')
362
+ FakeWeb.register_uri(:get, 'http://images.apple.com/test_string.txt', :body => 'foo')
356
363
 
357
364
  resp = nil
358
365
  Net::HTTP.start('images.apple.com') do |query|
@@ -363,7 +370,7 @@ class TestFakeWeb < Test::Unit::TestCase
363
370
  end
364
371
 
365
372
  def test_mock_request_on_real_domain
366
- FakeWeb.register_uri('http://images.apple.com/test_string.txt', :string => 'foo')
373
+ FakeWeb.register_uri(:get, 'http://images.apple.com/test_string.txt', :body => 'foo')
367
374
  resp = nil
368
375
  Net::HTTP.start('images.apple.com') do |query|
369
376
  resp = query.get('/test_string.txt')
@@ -372,7 +379,7 @@ class TestFakeWeb < Test::Unit::TestCase
372
379
  end
373
380
 
374
381
  def test_mock_post_that_raises_exception
375
- FakeWeb.register_uri('http://mock/raising_exception.txt', :exception => StandardError)
382
+ FakeWeb.register_uri(:post, 'http://mock/raising_exception.txt', :exception => StandardError)
376
383
  assert_raises(StandardError) do
377
384
  Net::HTTP.start('mock') do |query|
378
385
  query.post('/raising_exception.txt', 'some data')
@@ -381,7 +388,7 @@ class TestFakeWeb < Test::Unit::TestCase
381
388
  end
382
389
 
383
390
  def test_mock_post_that_raises_an_http_error
384
- FakeWeb.register_uri('http://mock/raising_exception.txt', :exception => Net::HTTPError)
391
+ FakeWeb.register_uri(:post, 'http://mock/raising_exception.txt', :exception => Net::HTTPError)
385
392
  assert_raises(Net::HTTPError) do
386
393
  Net::HTTP.start('mock') do |query|
387
394
  query.post('/raising_exception.txt', '')
@@ -397,7 +404,7 @@ class TestFakeWeb < Test::Unit::TestCase
397
404
  end
398
405
 
399
406
  def test_mock_instance_syntax
400
- FakeWeb.register_uri('http://mock/test_example.txt', :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
407
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
401
408
  response = nil
402
409
  uri = URI.parse('http://mock/test_example.txt')
403
410
  http = Net::HTTP.new(uri.host, uri.port)
@@ -412,7 +419,7 @@ class TestFakeWeb < Test::Unit::TestCase
412
419
  response = nil
413
420
  proxy_address = nil
414
421
  proxy_port = nil
415
- FakeWeb.register_uri('http://mock/test_example.txt', :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
422
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
416
423
  uri = URI.parse('http://mock/test_example.txt')
417
424
  http = Net::HTTP::Proxy(proxy_address, proxy_port).new(
418
425
  uri.host, (uri.port or 80))
@@ -424,7 +431,7 @@ class TestFakeWeb < Test::Unit::TestCase
424
431
  end
425
432
 
426
433
  def test_response_type
427
- FakeWeb.register_uri('http://mock/test_example.txt', :string => "test")
434
+ FakeWeb.register_uri(:get, 'http://mock/test_example.txt', :body => "test")
428
435
  Net::HTTP.start('mock') do |http|
429
436
  response = http.get('/test_example.txt')
430
437
  assert_kind_of(Net::HTTPSuccess, response)
@@ -432,7 +439,7 @@ class TestFakeWeb < Test::Unit::TestCase
432
439
  end
433
440
 
434
441
  def test_mock_request_that_raises_an_http_error_with_a_specific_status
435
- FakeWeb.register_uri('http://mock/raising_exception.txt', :exception => Net::HTTPError, :status => ['404', 'Not Found'])
442
+ FakeWeb.register_uri(:get, 'http://mock/raising_exception.txt', :exception => Net::HTTPError, :status => ['404', 'Not Found'])
436
443
  exception = assert_raises(Net::HTTPError) do
437
444
  Net::HTTP.start('mock') { |http| response = http.get('/raising_exception.txt') }
438
445
  end
@@ -441,10 +448,10 @@ class TestFakeWeb < Test::Unit::TestCase
441
448
  end
442
449
 
443
450
  def test_mock_rotate_responses
444
- FakeWeb.register_uri('http://mock/multiple_test_example.txt',
445
- [ {:file => File.dirname(__FILE__) + '/fixtures/test_example.txt', :times => 2},
446
- {:string => "thrice", :times => 3},
447
- {:string => "ever_more"} ])
451
+ FakeWeb.register_uri(:get, 'http://mock/multiple_test_example.txt',
452
+ [ {:body => File.dirname(__FILE__) + '/fixtures/test_example.txt', :times => 2},
453
+ {:body => "thrice", :times => 3},
454
+ {:body => "ever_more"} ])
448
455
 
449
456
  uri = URI.parse('http://mock/multiple_test_example.txt')
450
457
  2.times { assert_equal 'test example content', Net::HTTP.get(uri) }
@@ -453,7 +460,7 @@ class TestFakeWeb < Test::Unit::TestCase
453
460
  end
454
461
 
455
462
  def test_mock_request_using_response_with_transfer_encoding_header_has_valid_transfer_encoding_header
456
- FakeWeb.register_uri('http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_with_transfer_encoding')
463
+ FakeWeb.register_uri(:get, 'http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_with_transfer_encoding')
457
464
  response = nil
458
465
  Net::HTTP.start('www.google.com') do |query|
459
466
  response = query.get('/')
@@ -463,7 +470,7 @@ class TestFakeWeb < Test::Unit::TestCase
463
470
  end
464
471
 
465
472
  def test_mock_request_using_response_without_transfer_encoding_header_does_not_have_a_transfer_encoding_header
466
- FakeWeb.register_uri('http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_without_transfer_encoding')
473
+ FakeWeb.register_uri(:get, 'http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_without_transfer_encoding')
467
474
  response = nil
468
475
  Net::HTTP.start('www.google.com') do |query|
469
476
  response = query.get('/')
@@ -472,7 +479,7 @@ class TestFakeWeb < Test::Unit::TestCase
472
479
  end
473
480
 
474
481
  def test_mock_request_using_response_from_curl_has_original_transfer_encoding_header
475
- FakeWeb.register_uri('http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_from_curl')
482
+ FakeWeb.register_uri(:get, 'http://www.google.com/', :response => File.dirname(__FILE__) + '/fixtures/google_response_from_curl')
476
483
  response = nil
477
484
  Net::HTTP.start('www.google.com') do |query|
478
485
  response = query.get('/')
@@ -482,7 +489,7 @@ class TestFakeWeb < Test::Unit::TestCase
482
489
  end
483
490
 
484
491
  def test_txt_file_should_have_three_lines
485
- FakeWeb.register_uri('http://www.google.com/', :file => File.dirname(__FILE__) + '/fixtures/test_txt_file')
492
+ FakeWeb.register_uri(:get, 'http://www.google.com/', :body => File.dirname(__FILE__) + '/fixtures/test_txt_file')
486
493
  response = nil
487
494
  Net::HTTP.start('www.google.com') do |query|
488
495
  response = query.get('/')
@@ -494,26 +501,44 @@ class TestFakeWeb < Test::Unit::TestCase
494
501
  require "fakeweb"
495
502
  end
496
503
 
497
- def test_registering_using_response_with_string_containing_null_byte
504
+ def test_registering_with_string_containing_null_byte
498
505
  # Regression test for File.exists? raising an ArgumentError ("string
499
506
  # contains null byte") since :response first tries to find by filename.
500
507
  # The string should be treated as a response body, instead, and an
501
508
  # EOFError is raised when the byte is encountered.
502
- FakeWeb.register_uri("http://example.com", :response => "test\0test")
509
+ FakeWeb.register_uri(:get, "http://example.com", :response => "test\0test")
503
510
  assert_raise EOFError do
504
511
  Net::HTTP.get(URI.parse("http://example.com"))
505
512
  end
513
+
514
+ FakeWeb.register_uri(:get, "http://example.com", :body => "test\0test")
515
+ body = Net::HTTP.get(URI.parse("http://example.com"))
516
+ assert_equal "test\0test", body
517
+ end
518
+
519
+ def test_registering_with_string_that_is_a_directory_name
520
+ # Similar to above, but for Errno::EISDIR being raised since File.exists?
521
+ # returns true for directories
522
+ FakeWeb.register_uri(:get, "http://example.com", :response => File.dirname(__FILE__))
523
+ assert_raise EOFError do
524
+ body = Net::HTTP.get(URI.parse("http://example.com"))
525
+ end
526
+
527
+ FakeWeb.register_uri(:get, "http://example.com", :body => File.dirname(__FILE__))
528
+ body = Net::HTTP.get(URI.parse("http://example.com"))
529
+ assert_equal File.dirname(__FILE__), body
506
530
  end
507
531
 
508
532
  def test_http_version_from_string_response
509
- FakeWeb.register_uri(:get, "http://example.com", :string => "example")
533
+ FakeWeb.register_uri(:get, "http://example.com", :body => "example")
510
534
  response = Net::HTTP.start("example.com") { |http| http.get("/") }
511
535
  assert_equal "1.0", response.http_version
512
536
  end
513
537
 
514
538
  def test_http_version_from_file_response
515
- FakeWeb.register_uri(:get, "http://example.com", :file => File.dirname(__FILE__) + '/fixtures/test_example.txt')
539
+ FakeWeb.register_uri(:get, "http://example.com", :body => File.dirname(__FILE__) + '/fixtures/test_example.txt')
516
540
  response = Net::HTTP.start("example.com") { |http| http.get("/") }
517
541
  assert_equal "1.0", response.http_version
518
542
  end
543
+
519
544
  end