kronk 1.7.7 → 1.7.8
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/History.rdoc +6 -0
- data/lib/kronk.rb +1 -1
- data/lib/kronk/cmd.rb +1 -1
- data/lib/kronk/data_string.rb +2 -3
- data/lib/kronk/diff/output.rb +1 -1
- data/lib/kronk/path/transaction.rb +1 -3
- data/lib/kronk/response.rb +4 -2
- data/test/test_cmd.rb +1 -1
- data/test/test_kronk.rb +0 -7
- data/test/test_request.rb +14 -14
- data/test/test_response.rb +8 -7
- metadata +72 -76
data/History.rdoc
CHANGED
data/lib/kronk.rb
CHANGED
data/lib/kronk/cmd.rb
CHANGED
@@ -627,7 +627,7 @@ Parse and run diffs against data from live and cached http responses.
|
|
627
627
|
require 'kronk/async'
|
628
628
|
Kronk::Player.async = true
|
629
629
|
|
630
|
-
rescue LoadError
|
630
|
+
rescue LoadError
|
631
631
|
Kronk::Player.async = false
|
632
632
|
|
633
633
|
raise Kronk::Exception, "Async mode requires the em-http-request gem" if
|
data/lib/kronk/data_string.rb
CHANGED
data/lib/kronk/diff/output.rb
CHANGED
@@ -71,9 +71,7 @@ class Kronk::Path::Transaction
|
|
71
71
|
# pass the :keep_indicies => true option.
|
72
72
|
|
73
73
|
def results opts={}
|
74
|
-
new_data
|
75
|
-
prev_type = nil
|
76
|
-
prev_data = nil
|
74
|
+
new_data = @data
|
77
75
|
|
78
76
|
@actions.each do |type, paths|
|
79
77
|
new_data = send("transaction_#{type}", new_data, *paths)
|
data/lib/kronk/response.rb
CHANGED
@@ -59,7 +59,7 @@ class Kronk
|
|
59
59
|
|
60
60
|
@time = 0
|
61
61
|
|
62
|
-
raw_req, raw_resp,
|
62
|
+
raw_req, raw_resp, = read_raw_from debug_io
|
63
63
|
@raw = try_force_encoding raw_resp
|
64
64
|
|
65
65
|
@request = request || raw_req && Request.parse(try_force_encoding raw_req)
|
@@ -215,6 +215,8 @@ class Kronk
|
|
215
215
|
|
216
216
|
def parsed_header include_headers=true
|
217
217
|
out_headers = headers.dup
|
218
|
+
out_headers['status'] = @code
|
219
|
+
out_headers['http-version'] = @_res.http_version
|
218
220
|
|
219
221
|
case include_headers
|
220
222
|
when nil, false
|
@@ -223,7 +225,7 @@ class Kronk
|
|
223
225
|
when Array, String
|
224
226
|
include_headers = [*include_headers].map{|h| h.to_s.downcase}
|
225
227
|
|
226
|
-
|
228
|
+
out_headers.keys.each do |key|
|
227
229
|
out_headers.delete key unless
|
228
230
|
include_headers.include? key.to_s.downcase
|
229
231
|
end
|
data/test/test_cmd.rb
CHANGED
data/test/test_kronk.rb
CHANGED
@@ -217,12 +217,6 @@ class TestKronk < Test::Unit::TestCase
|
|
217
217
|
expected = {:query => data, :data => data}
|
218
218
|
|
219
219
|
with_uri_options do
|
220
|
-
new_data = {
|
221
|
-
"add" => "this",
|
222
|
-
"foo" => {'bar2' => 2, 'bar3' => "three"},
|
223
|
-
"key" => "otherval"
|
224
|
-
}
|
225
|
-
|
226
220
|
%w{uri_query hash_query}.each do |qtype|
|
227
221
|
opts = Kronk.new(:query => data, :data => data).
|
228
222
|
options_for_uri("http://#{qtype}.com")
|
@@ -408,7 +402,6 @@ class TestKronk < Test::Unit::TestCase
|
|
408
402
|
|
409
403
|
def test_load_cookie_jar_no_file
|
410
404
|
Kronk.clear_cookies!
|
411
|
-
mock_cookie_jar = YAML.load_file("test/mocks/cookies.yml")
|
412
405
|
|
413
406
|
File.expects(:file?).with(Kronk::DEFAULT_COOKIES_FILE).returns false
|
414
407
|
YAML.expects(:load_file).with(Kronk::DEFAULT_COOKIES_FILE).never
|
data/test/test_request.rb
CHANGED
@@ -159,7 +159,7 @@ class TestRequest < Test::Unit::TestCase
|
|
159
159
|
expect_request "GET", "http://example.com/request/path?foo=bar",
|
160
160
|
:headers => {'Cookie' => "mock_cookie", 'User-Agent' => "kronk"}
|
161
161
|
|
162
|
-
|
162
|
+
Kronk::Request.new("http://example.com/request/path",
|
163
163
|
:query => "foo=bar", :headers => {'User-Agent' => "kronk"}).retrieve
|
164
164
|
end
|
165
165
|
|
@@ -171,7 +171,7 @@ class TestRequest < Test::Unit::TestCase
|
|
171
171
|
expect_request "GET", "http://example.com/request/path?foo=bar",
|
172
172
|
:headers => {'User-Agent' => "kronk"}
|
173
173
|
|
174
|
-
|
174
|
+
Kronk::Request.new("http://example.com/request/path",
|
175
175
|
:query => "foo=bar", :headers => {'User-Agent' => "kronk"}).retrieve
|
176
176
|
end
|
177
177
|
|
@@ -185,7 +185,7 @@ class TestRequest < Test::Unit::TestCase
|
|
185
185
|
expect_request "GET", "http://example.com/request/path?foo=bar",
|
186
186
|
:headers => {'User-Agent' => "kronk"}
|
187
187
|
|
188
|
-
|
188
|
+
Kronk::Request.new("http://example.com/request/path",
|
189
189
|
:query => "foo=bar", :headers => {'User-Agent' => "kronk"},
|
190
190
|
:no_cookies => true).retrieve
|
191
191
|
end
|
@@ -203,7 +203,7 @@ class TestRequest < Test::Unit::TestCase
|
|
203
203
|
expect_request "GET", "http://example.com/request/path?foo=bar",
|
204
204
|
:headers => {'User-Agent' => "kronk"}
|
205
205
|
|
206
|
-
|
206
|
+
Kronk::Request.new("http://example.com/request/path",
|
207
207
|
:query => "foo=bar", :headers => {'User-Agent' => "kronk"}).retrieve
|
208
208
|
|
209
209
|
Kronk.config[:use_cookies] = old_config
|
@@ -222,7 +222,7 @@ class TestRequest < Test::Unit::TestCase
|
|
222
222
|
expect_request "GET", "http://example.com/request/path?foo=bar",
|
223
223
|
:headers => {'User-Agent' => "kronk"}
|
224
224
|
|
225
|
-
|
225
|
+
Kronk::Request.new("http://example.com/request/path",
|
226
226
|
:query => "foo=bar", :headers => {'User-Agent' => "kronk"},
|
227
227
|
:no_cookies => false).retrieve
|
228
228
|
|
@@ -237,7 +237,7 @@ class TestRequest < Test::Unit::TestCase
|
|
237
237
|
expect_request "GET", "http://example.com/request/path?foo=bar",
|
238
238
|
:headers => {'User-Agent' => "kronk"}
|
239
239
|
|
240
|
-
|
240
|
+
Kronk::Request.new("http://example.com/request/path",
|
241
241
|
:query => "foo=bar",
|
242
242
|
:headers => {'User-Agent' => "kronk", 'Cookie' => "mock_cookie"},
|
243
243
|
:no_cookies => true).retrieve
|
@@ -288,7 +288,7 @@ class TestRequest < Test::Unit::TestCase
|
|
288
288
|
req.expects(:basic_auth).with auth_opts[:username], auth_opts[:password]
|
289
289
|
end
|
290
290
|
|
291
|
-
|
291
|
+
Kronk::Request.new("http://example.com", :auth => auth_opts).retrieve
|
292
292
|
end
|
293
293
|
|
294
294
|
|
@@ -300,7 +300,7 @@ class TestRequest < Test::Unit::TestCase
|
|
300
300
|
never
|
301
301
|
end
|
302
302
|
|
303
|
-
|
303
|
+
Kronk::Request.new("http://example.com", :auth => auth_opts).retrieve
|
304
304
|
end
|
305
305
|
|
306
306
|
|
@@ -309,12 +309,12 @@ class TestRequest < Test::Unit::TestCase
|
|
309
309
|
req.expects(:basic_auth).never
|
310
310
|
end
|
311
311
|
|
312
|
-
|
312
|
+
Kronk::Request.new("http://example.com").retrieve
|
313
313
|
end
|
314
314
|
|
315
315
|
|
316
316
|
def test_retrieve_ssl
|
317
|
-
|
317
|
+
expect_request "GET", "https://example.com" do |http, req, resp|
|
318
318
|
req.expects(:use_ssl=).with true
|
319
319
|
end
|
320
320
|
|
@@ -342,7 +342,7 @@ class TestRequest < Test::Unit::TestCase
|
|
342
342
|
"Kronk/#{Kronk::VERSION} (http://github.com/yaksnrainbows/kronk)"
|
343
343
|
}
|
344
344
|
|
345
|
-
|
345
|
+
Kronk::Request.new("http://example.com").retrieve
|
346
346
|
end
|
347
347
|
|
348
348
|
|
@@ -350,7 +350,7 @@ class TestRequest < Test::Unit::TestCase
|
|
350
350
|
expect_request "GET", "http://example.com",
|
351
351
|
:headers => {'User-Agent' => "Mozilla/5.0 (compatible; Konqueror/3; Linux)"}
|
352
352
|
|
353
|
-
|
353
|
+
Kronk::Request.new("http://example.com",
|
354
354
|
:user_agent => 'linux_konqueror').retrieve
|
355
355
|
end
|
356
356
|
|
@@ -359,7 +359,7 @@ class TestRequest < Test::Unit::TestCase
|
|
359
359
|
expect_request "GET", "http://example.com",
|
360
360
|
:headers => {'User-Agent' => "custom user agent"}
|
361
361
|
|
362
|
-
|
362
|
+
Kronk::Request.new("http://example.com",
|
363
363
|
:user_agent => 'custom user agent').retrieve
|
364
364
|
end
|
365
365
|
|
@@ -368,7 +368,7 @@ class TestRequest < Test::Unit::TestCase
|
|
368
368
|
expect_request "GET", "http://example.com",
|
369
369
|
:headers => {'User-Agent' => "custom user agent"}
|
370
370
|
|
371
|
-
|
371
|
+
Kronk::Request.new("http://example.com",
|
372
372
|
:user_agent => 'mac_safari',
|
373
373
|
:headers => {'User-Agent' => "custom user agent"}).retrieve
|
374
374
|
end
|
data/test/test_response.rb
CHANGED
@@ -164,7 +164,11 @@ class TestResponse < Test::Unit::TestCase
|
|
164
164
|
|
165
165
|
|
166
166
|
def test_parsed_header
|
167
|
-
|
167
|
+
parsed_headers = @json_resp.to_hash.merge(
|
168
|
+
'http-version' => '1.1',
|
169
|
+
'status' => '200')
|
170
|
+
|
171
|
+
assert_equal parsed_headers, @json_resp.parsed_header
|
168
172
|
|
169
173
|
assert_equal({'content-type' => "application/json; charset=utf-8"},
|
170
174
|
@json_resp.parsed_header('Content-Type'))
|
@@ -195,14 +199,12 @@ class TestResponse < Test::Unit::TestCase
|
|
195
199
|
|
196
200
|
def test_selective_string
|
197
201
|
body = @json_resp.raw.split("\r\n\r\n")[1]
|
198
|
-
|
199
|
-
assert_equal body,
|
200
|
-
@json_resp.selective_string
|
202
|
+
assert_equal body, @json_resp.selective_string
|
201
203
|
end
|
202
204
|
|
203
205
|
|
204
206
|
def test_selective_string_no_body
|
205
|
-
|
207
|
+
@json_resp.raw.split("\r\n\r\n")[1]
|
206
208
|
|
207
209
|
assert_nil @json_resp.selective_string(:no_body => true)
|
208
210
|
|
@@ -238,7 +240,7 @@ class TestResponse < Test::Unit::TestCase
|
|
238
240
|
|
239
241
|
def test_selective_data
|
240
242
|
body = JSON.parse @json_resp.body
|
241
|
-
|
243
|
+
@json_resp.to_hash
|
242
244
|
|
243
245
|
assert_equal body, @json_resp.selective_data
|
244
246
|
|
@@ -283,7 +285,6 @@ class TestResponse < Test::Unit::TestCase
|
|
283
285
|
|
284
286
|
|
285
287
|
def test_selective_data_no_body
|
286
|
-
body = JSON.parse @json_resp.body
|
287
288
|
expected = {
|
288
289
|
'content-type' => 'application/json; charset=utf-8',
|
289
290
|
'date' => "Fri, 03 Dec 2010 21:49:00 GMT"
|
metadata
CHANGED
@@ -1,109 +1,107 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: kronk
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.7.8
|
4
5
|
prerelease:
|
5
|
-
version: 1.7.7
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- Jeremie Castagna
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-11-10 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
16
15
|
name: json
|
17
|
-
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: &2152119260 !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
18
|
+
requirements:
|
21
19
|
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '1.5'
|
24
22
|
type: :runtime
|
25
|
-
version_requirements: *id001
|
26
|
-
- !ruby/object:Gem::Dependency
|
27
|
-
name: cookiejar
|
28
23
|
prerelease: false
|
29
|
-
|
24
|
+
version_requirements: *2152119260
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: cookiejar
|
27
|
+
requirement: &2152118280 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
29
|
+
requirements:
|
32
30
|
- - ~>
|
33
|
-
- !ruby/object:Gem::Version
|
31
|
+
- !ruby/object:Gem::Version
|
34
32
|
version: 0.3.0
|
35
33
|
type: :runtime
|
36
|
-
version_requirements: *id002
|
37
|
-
- !ruby/object:Gem::Dependency
|
38
|
-
name: plist
|
39
34
|
prerelease: false
|
40
|
-
|
35
|
+
version_requirements: *2152118280
|
36
|
+
- !ruby/object:Gem::Dependency
|
37
|
+
name: plist
|
38
|
+
requirement: &2152090240 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
|
-
requirements:
|
40
|
+
requirements:
|
43
41
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
42
|
+
- !ruby/object:Gem::Version
|
45
43
|
version: 3.1.0
|
46
44
|
type: :development
|
47
|
-
version_requirements: *id003
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: nokogiri
|
50
45
|
prerelease: false
|
51
|
-
|
46
|
+
version_requirements: *2152090240
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: nokogiri
|
49
|
+
requirement: &2152088080 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
|
-
requirements:
|
51
|
+
requirements:
|
54
52
|
- - ~>
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.4'
|
57
55
|
type: :development
|
58
|
-
version_requirements: *id004
|
59
|
-
- !ruby/object:Gem::Dependency
|
60
|
-
name: mocha
|
61
56
|
prerelease: false
|
62
|
-
|
57
|
+
version_requirements: *2152088080
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: mocha
|
60
|
+
requirement: &2152085080 !ruby/object:Gem::Requirement
|
63
61
|
none: false
|
64
|
-
requirements:
|
62
|
+
requirements:
|
65
63
|
- - ~>
|
66
|
-
- !ruby/object:Gem::Version
|
64
|
+
- !ruby/object:Gem::Version
|
67
65
|
version: 0.9.12
|
68
66
|
type: :development
|
69
|
-
version_requirements: *id005
|
70
|
-
- !ruby/object:Gem::Dependency
|
71
|
-
name: em-http-request
|
72
67
|
prerelease: false
|
73
|
-
|
68
|
+
version_requirements: *2152085080
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: em-http-request
|
71
|
+
requirement: &2152143020 !ruby/object:Gem::Requirement
|
74
72
|
none: false
|
75
|
-
requirements:
|
73
|
+
requirements:
|
76
74
|
- - ~>
|
77
|
-
- !ruby/object:Gem::Version
|
75
|
+
- !ruby/object:Gem::Version
|
78
76
|
version: 1.0.0
|
79
77
|
type: :development
|
80
|
-
version_requirements: *id006
|
81
|
-
- !ruby/object:Gem::Dependency
|
82
|
-
name: hoe
|
83
78
|
prerelease: false
|
84
|
-
|
79
|
+
version_requirements: *2152143020
|
80
|
+
- !ruby/object:Gem::Dependency
|
81
|
+
name: hoe
|
82
|
+
requirement: &2152140980 !ruby/object:Gem::Requirement
|
85
83
|
none: false
|
86
|
-
requirements:
|
84
|
+
requirements:
|
87
85
|
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version:
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '2.12'
|
90
88
|
type: :development
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: *2152140980
|
91
|
+
description: ! 'Kronk runs diffs against data from live and cached http responses.
|
92
|
+
|
93
|
+
Kronk was made possible by the sponsoring of AT&T Interactive.'
|
94
|
+
email:
|
96
95
|
- yaksnrainbows@gmail.com
|
97
|
-
executables:
|
96
|
+
executables:
|
98
97
|
- kronk
|
99
98
|
extensions: []
|
100
|
-
|
101
|
-
extra_rdoc_files:
|
99
|
+
extra_rdoc_files:
|
102
100
|
- Manifest.txt
|
103
101
|
- History.rdoc
|
104
102
|
- README.rdoc
|
105
103
|
- TODO.rdoc
|
106
|
-
files:
|
104
|
+
files:
|
107
105
|
- .autotest
|
108
106
|
- History.rdoc
|
109
107
|
- Manifest.txt
|
@@ -174,33 +172,31 @@ files:
|
|
174
172
|
- .gemtest
|
175
173
|
homepage: https://github.com/yaksnrainbows/kronk
|
176
174
|
licenses: []
|
177
|
-
|
178
175
|
post_install_message:
|
179
|
-
rdoc_options:
|
176
|
+
rdoc_options:
|
180
177
|
- --main
|
181
178
|
- README.rdoc
|
182
|
-
require_paths:
|
179
|
+
require_paths:
|
183
180
|
- lib
|
184
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
181
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
185
182
|
none: false
|
186
|
-
requirements:
|
187
|
-
- -
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version:
|
190
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - ! '>='
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '0'
|
187
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
188
|
none: false
|
192
|
-
requirements:
|
193
|
-
- -
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version:
|
189
|
+
requirements:
|
190
|
+
- - ! '>='
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '0'
|
196
193
|
requirements: []
|
197
|
-
|
198
194
|
rubyforge_project: kronk
|
199
|
-
rubygems_version: 1.8.
|
195
|
+
rubygems_version: 1.8.10
|
200
196
|
signing_key:
|
201
197
|
specification_version: 3
|
202
198
|
summary: Kronk runs diffs against data from live and cached http responses
|
203
|
-
test_files:
|
199
|
+
test_files:
|
204
200
|
- test/test_assertions.rb
|
205
201
|
- test/test_cmd.rb
|
206
202
|
- test/test_core_ext.rb
|