committee 4.0.0 → 4.4.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/committee.rb +3 -3
- data/lib/committee/drivers/open_api_2/driver.rb +0 -1
- data/lib/committee/errors.rb +12 -0
- data/lib/committee/middleware/request_validation.rb +4 -11
- data/lib/committee/middleware/response_validation.rb +7 -7
- data/lib/committee/request_unpacker.rb +46 -60
- data/lib/committee/schema_validator/hyper_schema.rb +41 -27
- data/lib/committee/schema_validator/open_api_3.rb +34 -21
- data/lib/committee/schema_validator/open_api_3/operation_wrapper.rb +8 -4
- data/lib/committee/schema_validator/open_api_3/router.rb +3 -1
- data/lib/committee/schema_validator/option.rb +22 -3
- data/lib/committee/test/methods.rb +27 -11
- data/lib/committee/test/schema_coverage.rb +101 -0
- data/lib/committee/utils.rb +28 -0
- data/lib/committee/validation_error.rb +3 -2
- data/test/bin/committee_stub_test.rb +5 -1
- data/test/committee_test.rb +1 -1
- data/test/middleware/base_test.rb +9 -3
- data/test/middleware/request_validation_open_api_3_test.rb +82 -6
- data/test/middleware/request_validation_test.rb +16 -0
- data/test/middleware/response_validation_open_api_3_test.rb +26 -2
- data/test/middleware/response_validation_test.rb +11 -0
- data/test/middleware/stub_test.rb +4 -0
- data/test/request_unpacker_test.rb +51 -110
- data/test/schema_validator/hyper_schema/router_test.rb +4 -0
- data/test/schema_validator/open_api_3/operation_wrapper_test.rb +14 -3
- data/test/schema_validator/open_api_3/request_validator_test.rb +3 -0
- data/test/schema_validator/open_api_3/response_validator_test.rb +12 -5
- data/test/test/methods_new_version_test.rb +16 -4
- data/test/test/methods_test.rb +151 -7
- data/test/test/schema_coverage_test.rb +216 -0
- data/test/test_helper.rb +20 -0
- metadata +41 -10
data/test/test_helper.rb
CHANGED
@@ -55,10 +55,18 @@ def open_api_2_schema
|
|
55
55
|
@open_api_2_schema ||= Committee::Drivers.load_from_file(open_api_2_schema_path)
|
56
56
|
end
|
57
57
|
|
58
|
+
def open_api_2_form_schema
|
59
|
+
@open_api_2_form_schema ||= Committee::Drivers.load_from_file(open_api_2_form_schema_path)
|
60
|
+
end
|
61
|
+
|
58
62
|
def open_api_3_schema
|
59
63
|
@open_api_3_schema ||= Committee::Drivers.load_from_file(open_api_3_schema_path)
|
60
64
|
end
|
61
65
|
|
66
|
+
def open_api_3_coverage_schema
|
67
|
+
@open_api_3_coverage_schema ||= Committee::Drivers.load_from_file(open_api_3_coverage_schema_path)
|
68
|
+
end
|
69
|
+
|
62
70
|
# Don't cache this because we'll often manipulate the created hash in tests.
|
63
71
|
def hyper_schema_data
|
64
72
|
JSON.parse(File.read(hyper_schema_schema_path))
|
@@ -69,6 +77,10 @@ def open_api_2_data
|
|
69
77
|
JSON.parse(File.read(open_api_2_schema_path))
|
70
78
|
end
|
71
79
|
|
80
|
+
def open_api_2_form_data
|
81
|
+
JSON.parse(File.read(open_api_2_form_schema_path))
|
82
|
+
end
|
83
|
+
|
72
84
|
def open_api_3_data
|
73
85
|
YAML.load_file(open_api_3_schema_path)
|
74
86
|
end
|
@@ -81,10 +93,18 @@ def open_api_2_schema_path
|
|
81
93
|
"./test/data/openapi2/petstore-expanded.json"
|
82
94
|
end
|
83
95
|
|
96
|
+
def open_api_2_form_schema_path
|
97
|
+
"./test/data/openapi2/petstore-expanded-form.json"
|
98
|
+
end
|
99
|
+
|
84
100
|
def open_api_3_schema_path
|
85
101
|
"./test/data/openapi3/normal.yaml"
|
86
102
|
end
|
87
103
|
|
104
|
+
def open_api_3_coverage_schema_path
|
105
|
+
"./test/data/openapi3/coverage.yaml"
|
106
|
+
end
|
107
|
+
|
88
108
|
def open_api_3_0_1_schema_path
|
89
109
|
"./test/data/openapi3/3_0_1.yaml"
|
90
110
|
end
|
metadata
CHANGED
@@ -1,16 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: committee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.4.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brandur
|
8
8
|
- geemus (Wesley Beary)
|
9
9
|
- ota42y
|
10
|
-
autorequire:
|
10
|
+
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2021-05-31 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: json_schema
|
@@ -146,6 +146,20 @@ dependencies:
|
|
146
146
|
version: '0'
|
147
147
|
- !ruby/object:Gem::Dependency
|
148
148
|
name: rubocop
|
149
|
+
requirement: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - "<"
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: 1.13.0
|
154
|
+
type: :development
|
155
|
+
prerelease: false
|
156
|
+
version_requirements: !ruby/object:Gem::Requirement
|
157
|
+
requirements:
|
158
|
+
- - "<"
|
159
|
+
- !ruby/object:Gem::Version
|
160
|
+
version: 1.13.0
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: rubocop-performance
|
149
163
|
requirement: !ruby/object:Gem::Requirement
|
150
164
|
requirements:
|
151
165
|
- - ">="
|
@@ -159,7 +173,21 @@ dependencies:
|
|
159
173
|
- !ruby/object:Gem::Version
|
160
174
|
version: '0'
|
161
175
|
- !ruby/object:Gem::Dependency
|
162
|
-
name: rubocop-
|
176
|
+
name: rubocop-minitest
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
type: :development
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
requirements:
|
186
|
+
- - ">="
|
187
|
+
- !ruby/object:Gem::Version
|
188
|
+
version: '0'
|
189
|
+
- !ruby/object:Gem::Dependency
|
190
|
+
name: rubocop-rake
|
163
191
|
requirement: !ruby/object:Gem::Requirement
|
164
192
|
requirements:
|
165
193
|
- - ">="
|
@@ -186,7 +214,7 @@ dependencies:
|
|
186
214
|
- - ">="
|
187
215
|
- !ruby/object:Gem::Version
|
188
216
|
version: '0'
|
189
|
-
description:
|
217
|
+
description:
|
190
218
|
email:
|
191
219
|
- brandur@mutelight.org
|
192
220
|
- geemus+github@gmail.com
|
@@ -238,6 +266,8 @@ files:
|
|
238
266
|
- lib/committee/schema_validator/open_api_3/router.rb
|
239
267
|
- lib/committee/schema_validator/option.rb
|
240
268
|
- lib/committee/test/methods.rb
|
269
|
+
- lib/committee/test/schema_coverage.rb
|
270
|
+
- lib/committee/utils.rb
|
241
271
|
- lib/committee/validation_error.rb
|
242
272
|
- test/bin/committee_stub_test.rb
|
243
273
|
- test/bin_test.rb
|
@@ -268,13 +298,14 @@ files:
|
|
268
298
|
- test/schema_validator/open_api_3/response_validator_test.rb
|
269
299
|
- test/test/methods_new_version_test.rb
|
270
300
|
- test/test/methods_test.rb
|
301
|
+
- test/test/schema_coverage_test.rb
|
271
302
|
- test/test_helper.rb
|
272
303
|
- test/validation_error_test.rb
|
273
304
|
homepage: https://github.com/interagent/committee
|
274
305
|
licenses:
|
275
306
|
- MIT
|
276
307
|
metadata: {}
|
277
|
-
post_install_message:
|
308
|
+
post_install_message:
|
278
309
|
rdoc_options: []
|
279
310
|
require_paths:
|
280
311
|
- lib
|
@@ -285,12 +316,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
285
316
|
version: 2.4.0
|
286
317
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
287
318
|
requirements:
|
288
|
-
- - "
|
319
|
+
- - ">"
|
289
320
|
- !ruby/object:Gem::Version
|
290
|
-
version:
|
321
|
+
version: 1.3.1
|
291
322
|
requirements: []
|
292
|
-
rubygems_version: 3.
|
293
|
-
signing_key:
|
323
|
+
rubygems_version: 3.2.3
|
324
|
+
signing_key:
|
294
325
|
specification_version: 4
|
295
326
|
summary: A collection of Rack middleware to support JSON Schema.
|
296
327
|
test_files: []
|