openapi_parser 0.6.0 → 0.6.1
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7480b22f5a7f1e12c9c1d2b21dbcc50b711bb06fba8f31e7cdff9f340f7f6fe8
|
4
|
+
data.tar.gz: d9fecd50469f7e3f8bf88cf5076c8b78df24a5d825920748f518bcbd38ca0677
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18af5156bd11cd2388608f2c835cfc44a049f55e5729c25997d44a7e434f00f9278ea1b39ef5490044aa950252148585e101f021659d34fa023046af03f96401
|
7
|
+
data.tar.gz: e706defe789e26b503018653b8be22671a0155a2bbc39ac62c29603e7bd9a58f1cb923c9f7b51a858dde34ae06397860c1c68345828fff5be386866a2f6ca236
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
## Unreleased
|
2
2
|
|
3
|
+
## 0.6.1 (2019-10-12)
|
4
|
+
* Bugfix: validate non-nullable response header #54
|
5
|
+
* Improve grammar in error messages #55
|
6
|
+
* fix object validator in case of properties missing #56
|
7
|
+
|
3
8
|
## 0.6.0 (2019-10-05)
|
4
9
|
* add email format validation on string #51
|
5
10
|
|
@@ -13,7 +13,7 @@ module OpenAPIParser
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def message
|
16
|
-
"#{@
|
16
|
+
"#{@reference} expected #{@type}, but received #{@data.class}: #{@data}"
|
17
17
|
end
|
18
18
|
|
19
19
|
class << self
|
@@ -28,7 +28,7 @@ module OpenAPIParser
|
|
28
28
|
|
29
29
|
class NotNullError < OpenAPIError
|
30
30
|
def message
|
31
|
-
"#{@reference}
|
31
|
+
"#{@reference} does not allow null values"
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -39,7 +39,7 @@ module OpenAPIParser
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def message
|
42
|
-
"required parameters #{@keys.join(",")}
|
42
|
+
"#{@reference} missing required parameters: #{@keys.join(", ")}"
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -50,7 +50,7 @@ module OpenAPIParser
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def message
|
53
|
-
"properties #{@keys.join(",")}
|
53
|
+
"#{@reference} does not define properties: #{@keys.join(", ")}"
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -117,7 +117,7 @@ module OpenAPIParser
|
|
117
117
|
end
|
118
118
|
|
119
119
|
def message
|
120
|
-
"#{@value}
|
120
|
+
"#{@reference} #{@value} is less than minimum value"
|
121
121
|
end
|
122
122
|
end
|
123
123
|
|
@@ -128,7 +128,7 @@ module OpenAPIParser
|
|
128
128
|
end
|
129
129
|
|
130
130
|
def message
|
131
|
-
"#{@value} cannot be less than or equal to exclusive minimum value
|
131
|
+
"#{@reference} #{@value} cannot be less than or equal to exclusive minimum value"
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
@@ -139,7 +139,7 @@ module OpenAPIParser
|
|
139
139
|
end
|
140
140
|
|
141
141
|
def message
|
142
|
-
"#{@value}
|
142
|
+
"#{@reference} #{@value} is more than maximum value"
|
143
143
|
end
|
144
144
|
end
|
145
145
|
|
@@ -150,7 +150,7 @@ module OpenAPIParser
|
|
150
150
|
end
|
151
151
|
|
152
152
|
def message
|
153
|
-
"#{@value} cannot be more than or equal to exclusive maximum value
|
153
|
+
"#{@reference} #{@value} cannot be more than or equal to exclusive maximum value"
|
154
154
|
end
|
155
155
|
end
|
156
156
|
|
@@ -162,7 +162,7 @@ module OpenAPIParser
|
|
162
162
|
end
|
163
163
|
|
164
164
|
def message
|
165
|
-
"#{@
|
165
|
+
"#{@reference} pattern #{@pattern} does not match value: #{@value}"
|
166
166
|
end
|
167
167
|
end
|
168
168
|
|
@@ -173,19 +173,19 @@ module OpenAPIParser
|
|
173
173
|
end
|
174
174
|
|
175
175
|
def message
|
176
|
-
"#{@
|
176
|
+
"#{@reference} email address format does not match value: #{@value}"
|
177
177
|
end
|
178
178
|
end
|
179
179
|
|
180
180
|
class NotExistStatusCodeDefinition < OpenAPIError
|
181
181
|
def message
|
182
|
-
"
|
182
|
+
"#{@reference} status code definition does not exist"
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
186
186
|
class NotExistContentTypeDefinition < OpenAPIError
|
187
187
|
def message
|
188
|
-
"
|
188
|
+
"#{@reference} response definition does not exist"
|
189
189
|
end
|
190
190
|
end
|
191
191
|
|
@@ -196,7 +196,7 @@ module OpenAPIParser
|
|
196
196
|
end
|
197
197
|
|
198
198
|
def message
|
199
|
-
"#{@value}
|
199
|
+
"#{@reference} #{@value} is longer than max length"
|
200
200
|
end
|
201
201
|
end
|
202
202
|
|
@@ -207,7 +207,7 @@ module OpenAPIParser
|
|
207
207
|
end
|
208
208
|
|
209
209
|
def message
|
210
|
-
"#{@value}
|
210
|
+
"#{@reference} #{@value} is shorter than min length"
|
211
211
|
end
|
212
212
|
end
|
213
213
|
|
@@ -218,7 +218,7 @@ module OpenAPIParser
|
|
218
218
|
end
|
219
219
|
|
220
220
|
def message
|
221
|
-
"#{@value}
|
221
|
+
"#{@reference} #{@value} contains more than max items"
|
222
222
|
end
|
223
223
|
end
|
224
224
|
|
@@ -229,7 +229,7 @@ module OpenAPIParser
|
|
229
229
|
end
|
230
230
|
|
231
231
|
def message
|
232
|
-
"#{@value}
|
232
|
+
"#{@reference} #{@value} contains fewer than min items"
|
233
233
|
end
|
234
234
|
end
|
235
235
|
end
|
@@ -7,13 +7,13 @@ class OpenAPIParser::SchemaValidator
|
|
7
7
|
def coerce_and_validate(value, schema, parent_all_of: false, discriminator_property_name: nil)
|
8
8
|
return OpenAPIParser::ValidateError.build_error_result(value, schema) unless value.kind_of?(Hash)
|
9
9
|
|
10
|
-
|
10
|
+
properties = schema.properties || {}
|
11
11
|
|
12
12
|
required_set = schema.required ? schema.required.to_set : Set.new
|
13
13
|
remaining_keys = value.keys
|
14
14
|
|
15
15
|
coerced_values = value.map do |name, v|
|
16
|
-
s =
|
16
|
+
s = properties[name]
|
17
17
|
coerced, err = if s
|
18
18
|
remaining_keys.delete(name)
|
19
19
|
validatable.validate_schema(v, s)
|
@@ -43,11 +43,11 @@ module OpenAPIParser::Schemas
|
|
43
43
|
def validate_header(response_headers)
|
44
44
|
return unless headers
|
45
45
|
|
46
|
-
headers.each do |
|
47
|
-
|
48
|
-
next unless h
|
46
|
+
headers.each do |name, schema|
|
47
|
+
next unless response_headers.key?(name)
|
49
48
|
|
50
|
-
|
49
|
+
value = response_headers[name]
|
50
|
+
schema.validate(value)
|
51
51
|
end
|
52
52
|
end
|
53
53
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openapi_parser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ota42y
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|