rack-test_app 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/{Rakefile → Rakefile.rb} +28 -6
- data/lib/rack/test_app.rb +13 -13
- data/rack-test_app.gemspec +4 -6
- data/test/rack/test_app/MultipartBuilder_test.rb +2 -2
- data/test/rack/test_app/Result_test.rb +3 -3
- data/test/rack/test_app/TestApp_test.rb +7 -6
- data/test/rack/test_app/Util_test.rb +5 -6
- data/test/rack/test_app/Wrapper_test.rb +3 -3
- metadata +6 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bcda18c27ea20de2cac4ccd10eb02dd825082316
|
4
|
+
data.tar.gz: bb4e19bbf2cfc3fbbeba4eb31a4552423df9dab7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc9e70351334d583198c599ce3f5fe01f058af68f817532feafdff86191efdbf62f390ba9cb8d7739168dbfab036012d7c799ef0cff2ad14e9bc0e3dfed10fc9
|
7
|
+
data.tar.gz: fcb95b8bc2656ed4423595586c3e55e7ab1f6ed989374325a7703851fc5c8de8d320805f3f0704969cebfef86c8af5fc39e25be9bb03318c415370c057f63223
|
data/README.md
CHANGED
data/{Rakefile → Rakefile.rb}
RENAMED
@@ -1,3 +1,7 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
2
|
+
|
3
|
+
copyright = "copyright(c) 2015-2021 kuwata-lab.com all rights reserved"
|
4
|
+
|
1
5
|
require "bundler/gem_tasks"
|
2
6
|
require "rake/testtask"
|
3
7
|
|
@@ -25,8 +29,11 @@ How to release:
|
|
25
29
|
$ git commit -a -m "release preparation for 1.0.0"
|
26
30
|
$ rake build # for confirmation
|
27
31
|
$ rake install # for confirmation
|
28
|
-
$ rake release
|
29
|
-
$
|
32
|
+
$ #rake release
|
33
|
+
$ gem push pkg/rack-test_app-1.0.0.gem
|
34
|
+
$ git tag rel-1.0.0
|
35
|
+
$ git push -u origin rel-1.0
|
36
|
+
$ git push --tags
|
30
37
|
END
|
31
38
|
|
32
39
|
end
|
@@ -38,12 +45,27 @@ task :edit do
|
|
38
45
|
raise "ERROR: 'rel' environment variable expected."
|
39
46
|
filenames = Dir[*%w[lib/**/*.rb test/**/*_test.rb]]
|
40
47
|
filenames.each do |fname|
|
41
|
-
|
42
|
-
|
43
|
-
|
48
|
+
changed = edit_file(fname) {|s|
|
49
|
+
s = s.gsub(/\$Release:.*?\$/, "$"+"Release: #{rel} $")
|
50
|
+
#s = s.gsub(/\$Copyright:.*?\$/, "$"+"Copyright: #{copyright} $")
|
51
|
+
s
|
52
|
+
}
|
53
|
+
puts "[changed] #{fname}" if changed
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
|
58
|
+
def edit_file(fname, &b)
|
59
|
+
File.open(fname, 'r+', encoding: 'utf-8') do |f|
|
60
|
+
s1 = f.read()
|
61
|
+
s2 = yield s1
|
62
|
+
if s1 != s2
|
44
63
|
f.rewind()
|
45
64
|
f.truncate(0)
|
46
|
-
f.write(
|
65
|
+
f.write(s2)
|
66
|
+
return true
|
67
|
+
else
|
68
|
+
return false
|
47
69
|
end
|
48
70
|
end
|
49
71
|
end
|
data/lib/rack/test_app.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.
|
5
|
-
### $Copyright: copyright(c) 2015 kuwata-lab.com all rights reserved $
|
4
|
+
### $Release: 1.1.0 $
|
5
|
+
### $Copyright: copyright(c) 2015-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
8
8
|
|
@@ -20,7 +20,7 @@ module Rack
|
|
20
20
|
|
21
21
|
module TestApp
|
22
22
|
|
23
|
-
VERSION = '$Release: 1.
|
23
|
+
VERSION = '$Release: 1.1.0 $'.split()[1]
|
24
24
|
|
25
25
|
|
26
26
|
module Util
|
@@ -232,7 +232,7 @@ module Rack
|
|
232
232
|
end
|
233
233
|
input = multipart.to_s
|
234
234
|
#; [!dq33d] sets content type with 'multipart/form-data'.
|
235
|
-
|
235
|
+
input =~ /\A--(\S+)\r\n/ or
|
236
236
|
raise ArgumentError.new("invalid multipart format.")
|
237
237
|
boundary = $1
|
238
238
|
ctype = "multipart/form-data; boundary=#{boundary}"
|
@@ -428,7 +428,7 @@ module Rack
|
|
428
428
|
def with(headers: nil, cookies: nil, env: nil)
|
429
429
|
tmp_env = TestApp.new_env(headers: headers, cookies: cookies, env: env)
|
430
430
|
new_env = @env ? @env.dup : {}
|
431
|
-
|
431
|
+
tmp_env.each do |k, v|
|
432
432
|
new_env[k] = v if k.start_with?('HTTP_')
|
433
433
|
end
|
434
434
|
new_wrapper = self.class.new(@app, new_env)
|
@@ -452,14 +452,14 @@ module Rack
|
|
452
452
|
return Result.new(status, headers, body)
|
453
453
|
end
|
454
454
|
|
455
|
-
def GET path, kwargs={}; request(:GET , path, kwargs); end
|
456
|
-
def POST path, kwargs={}; request(:POST , path, kwargs); end
|
457
|
-
def PUT path, kwargs={}; request(:PUT , path, kwargs); end
|
458
|
-
def DELETE path, kwargs={}; request(:DELETE , path, kwargs); end
|
459
|
-
def HEAD path, kwargs={}; request(:HEAD , path, kwargs); end
|
460
|
-
def PATCH path, kwargs={}; request(:PATCH , path, kwargs); end
|
461
|
-
def OPTIONS path, kwargs={}; request(:OPTIONS, path, kwargs); end
|
462
|
-
def TRACE path, kwargs={}; request(:TRACE , path, kwargs); end
|
455
|
+
def GET path, kwargs={}; request(:GET , path, **kwargs); end
|
456
|
+
def POST path, kwargs={}; request(:POST , path, **kwargs); end
|
457
|
+
def PUT path, kwargs={}; request(:PUT , path, **kwargs); end
|
458
|
+
def DELETE path, kwargs={}; request(:DELETE , path, **kwargs); end
|
459
|
+
def HEAD path, kwargs={}; request(:HEAD , path, **kwargs); end
|
460
|
+
def PATCH path, kwargs={}; request(:PATCH , path, **kwargs); end
|
461
|
+
def OPTIONS path, kwargs={}; request(:OPTIONS, path, **kwargs); end
|
462
|
+
def TRACE path, kwargs={}; request(:TRACE , path, **kwargs); end
|
463
463
|
|
464
464
|
## define aliases because ruby programmer prefers #get() rather than #GET().
|
465
465
|
alias get GET
|
data/rack-test_app.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'rack/test_app'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "rack-test_app"
|
8
8
|
spec.version = Rack::TestApp::VERSION
|
9
|
-
spec.authors = ["
|
10
|
-
spec.email = ["
|
9
|
+
spec.authors = ["kwatch"]
|
10
|
+
spec.email = ["kwatch@gmail.com"]
|
11
11
|
spec.summary = "more intuitive testing helper library for Rack app"
|
12
12
|
spec.description = <<END
|
13
13
|
Rack::TestApp is another testing helper library for Rack application.
|
@@ -16,7 +16,7 @@ END
|
|
16
16
|
spec.homepage = "https://github.com/kwatch/rack-test_app"
|
17
17
|
spec.license = "MIT-LICENCE"
|
18
18
|
spec.files = Dir[*%w[
|
19
|
-
README.md MIT-LICENSE.txt Rakefile rack-test_app.gemspec
|
19
|
+
README.md MIT-LICENSE.txt Rakefile.rb rack-test_app.gemspec
|
20
20
|
lib/rack/test_app.rb
|
21
21
|
test/test_helper.rb
|
22
22
|
test/rack/**/*_test.rb
|
@@ -24,8 +24,6 @@ END
|
|
24
24
|
]]
|
25
25
|
spec.require_paths = ["lib"]
|
26
26
|
spec.required_ruby_version = '>= 2.0'
|
27
|
-
spec.add_runtime_dependency
|
28
|
-
spec.add_development_dependency "bundler", "~> 1.10"
|
29
|
-
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
+
spec.add_runtime_dependency "rack"
|
30
28
|
spec.add_development_dependency "minitest"
|
31
29
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.
|
5
|
-
### $Copyright: copyright(c) 2015 kuwata-lab.com all rights reserved $
|
4
|
+
### $Release: 1.1.0 $
|
5
|
+
### $Copyright: copyright(c) 2015-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
8
8
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.
|
5
|
-
### $Copyright: copyright(c) 2015 kuwata-lab.com all rights reserved $
|
4
|
+
### $Release: 1.1.0 $
|
5
|
+
### $Copyright: copyright(c) 2015-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
8
8
|
|
@@ -175,7 +175,7 @@ describe Rack::TestApp::Result do
|
|
175
175
|
it "[!oapns] returns nil if cookie not exists." do
|
176
176
|
headers = {'Set-Cookie' => 'name1=value1'}
|
177
177
|
r = Rack::TestApp::Result.new(200, headers, [])
|
178
|
-
|
178
|
+
assert_nil r.cookie_value('name2')
|
179
179
|
end
|
180
180
|
|
181
181
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.
|
5
|
-
### $Copyright: copyright(c) 2015 kuwata-lab.com all rights reserved $
|
4
|
+
### $Release: 1.1.0 $
|
5
|
+
### $Copyright: copyright(c) 2015-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
8
8
|
|
@@ -20,7 +20,7 @@ describe Rack::TestApp do
|
|
20
20
|
describe '::VERSION' do
|
21
21
|
|
22
22
|
it "represents release version number." do
|
23
|
-
expected = '$Release: 1.
|
23
|
+
expected = '$Release: 1.1.0 $'.split()[1]
|
24
24
|
assert_equal expected, Rack::TestApp::VERSION
|
25
25
|
end
|
26
26
|
|
@@ -103,7 +103,8 @@ describe Rack::TestApp do
|
|
103
103
|
|
104
104
|
it "[!dq33d] sets content type with 'multipart/form-data'." do
|
105
105
|
env = Rack::TestApp.new_env(multipart: {})
|
106
|
-
|
106
|
+
rexp = /\Amultipart\/form-data; boundary=\S+\z/
|
107
|
+
assert_match rexp, env['CONTENT_TYPE']
|
107
108
|
end
|
108
109
|
|
109
110
|
it "[!gko8g] 'multipart:' kwarg accepts Hash object (which is converted into multipart data)." do
|
@@ -149,7 +150,7 @@ describe Rack::TestApp do
|
|
149
150
|
#
|
150
151
|
assert_equal Rack::VERSION , env['rack.version']
|
151
152
|
assert_kind_of Array , env['rack.version']
|
152
|
-
assert_match
|
153
|
+
assert_match(/\A\[1, \d+\]\z/, env['rack.version'].inspect)
|
153
154
|
assert_kind_of StringIO , env['rack.input']
|
154
155
|
assert_kind_of StringIO , env['rack.errors']
|
155
156
|
assert_equal true , env['rack.multithread']
|
@@ -166,7 +167,7 @@ describe Rack::TestApp do
|
|
166
167
|
assert_equal 'off' , env['HTTPS']
|
167
168
|
assert_equal '' , env['SCRIPT_NAME']
|
168
169
|
assert_equal '0' , env['CONTENT_LENGTH']
|
169
|
-
|
170
|
+
assert_nil env['CONTENT_TYPE']
|
170
171
|
end
|
171
172
|
|
172
173
|
it "[!ezvdn] unsets CONTENT_TYPE when not input." do
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.
|
5
|
-
### $Copyright: copyright(c) 2015 kuwata-lab.com all rights reserved $
|
4
|
+
### $Release: 1.1.0 $
|
5
|
+
### $Copyright: copyright(c) 2015-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
8
8
|
|
@@ -36,8 +36,7 @@ describe Rack::TestApp::Util do
|
|
36
36
|
describe '.#build_query_string()' do
|
37
37
|
|
38
38
|
it "[!098ac] returns nil when argument is nil." do
|
39
|
-
|
40
|
-
assert_equal expected, Rack::TestApp::Util.build_query_string(nil)
|
39
|
+
assert_nil Rack::TestApp::Util.build_query_string(nil)
|
41
40
|
end
|
42
41
|
|
43
42
|
it "[!z9ds2] returns argument itself when it is a string." do
|
@@ -116,7 +115,7 @@ describe Rack::TestApp::Util do
|
|
116
115
|
set_cookie = "name1=value1; Max-Age=3600"
|
117
116
|
c = Rack::TestApp::Util.parse_set_cookie(set_cookie)
|
118
117
|
assert_equal 3600, c[:max_age]
|
119
|
-
assert_kind_of
|
118
|
+
assert_kind_of Integer, c[:max_age]
|
120
119
|
end
|
121
120
|
|
122
121
|
it "[!wgzyz] raises error when Max-Age attribute value is not a positive integer." do
|
@@ -140,7 +139,7 @@ describe Rack::TestApp::Util do
|
|
140
139
|
arr = (1..1000).map { Rack::TestApp::Util.randstr_b64() }
|
141
140
|
assert_equal 1000, arr.sort.uniq.length
|
142
141
|
arr.each do |s|
|
143
|
-
assert_match
|
142
|
+
assert_match(/\A[-\w]+\z/, s)
|
144
143
|
assert_equal 27, s.length
|
145
144
|
end
|
146
145
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
|
3
3
|
###
|
4
|
-
### $Release: 1.
|
5
|
-
### $Copyright: copyright(c) 2015 kuwata-lab.com all rights reserved $
|
4
|
+
### $Release: 1.1.0 $
|
5
|
+
### $Copyright: copyright(c) 2015-2021 kuwata-lab.com all rights reserved $
|
6
6
|
### $License: MIT License $
|
7
7
|
###
|
8
8
|
|
@@ -31,7 +31,7 @@ describe Rack::TestApp::Wrapper do
|
|
31
31
|
#
|
32
32
|
wrapper = Rack::TestApp::Wrapper.new(app)
|
33
33
|
assert_equal app, wrapper.instance_variable_get('@app')
|
34
|
-
|
34
|
+
assert_nil wrapper.instance_variable_get('@env')
|
35
35
|
end
|
36
36
|
|
37
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-test_app
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- kwatch
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -24,34 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: bundler
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '1.10'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '1.10'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rake
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - "~>"
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '10.0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - "~>"
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '10.0'
|
55
27
|
- !ruby/object:Gem::Dependency
|
56
28
|
name: minitest
|
57
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,14 +42,14 @@ description: |
|
|
70
42
|
Rack::TestApp is another testing helper library for Rack application.
|
71
43
|
IMO it is more intuitive than Rack::Test.
|
72
44
|
email:
|
73
|
-
-
|
45
|
+
- kwatch@gmail.com
|
74
46
|
executables: []
|
75
47
|
extensions: []
|
76
48
|
extra_rdoc_files: []
|
77
49
|
files:
|
78
50
|
- MIT-LICENSE.txt
|
79
51
|
- README.md
|
80
|
-
- Rakefile
|
52
|
+
- Rakefile.rb
|
81
53
|
- lib/rack/test_app.rb
|
82
54
|
- rack-test_app.gemspec
|
83
55
|
- test/rack/test_app/MultipartBuilder_test.rb
|
@@ -109,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
81
|
version: '0'
|
110
82
|
requirements: []
|
111
83
|
rubyforge_project:
|
112
|
-
rubygems_version: 2.
|
84
|
+
rubygems_version: 2.5.2.3
|
113
85
|
signing_key:
|
114
86
|
specification_version: 4
|
115
87
|
summary: more intuitive testing helper library for Rack app
|