Skip to content

Commit 21fd731

Browse files
committed
Add OpenapiFirst::ValidatedRequest#unknown? and OpenapiFirst::ValidatedResponse#unknown?
1 parent cb983a8 commit 21fd731

5 files changed

Lines changed: 42 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
end
1818
```
1919

20+
- Added `OpenapiFirst::ValidatedRequest#unknown?` and `OpenapiFirst::ValidatedResponse#unknown?`
21+
2022
## 3.1.1
2123

2224
- Changed: Return uniqe errors in default error responses

lib/openapi_first/validated_request.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ def invalid? = !valid?
6969
# Returns true if the request is defined.
7070
def known? = request_definition != nil
7171

72+
# Returns true if the request is not defined.
73+
def unknown? = !known?
74+
7275
# Merged path, query, body parameters.
7376
# Here path has the highest precedence, then query, then body.
7477
# @return [Hash<String, anything>]

lib/openapi_first/validated_response.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ def valid?
4444
# Returns true if the response is defined.
4545
def known? = response_definition != nil
4646

47+
# Returns true if the response is not defined.
48+
def unknown? = !known?
49+
4750
# Checks if the response is invalid.
4851
# @return [Boolean]
4952
def invalid?

spec/validated_request_spec.rb

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,16 @@
7676
end
7777
end
7878

79+
describe '#unknown?' do
80+
it 'returns false if request is known' do
81+
expect(valid_request).not_to be_unknown
82+
end
83+
84+
it 'returns true if request is known' do
85+
expect(unknown_request).to be_unknown
86+
end
87+
end
88+
7989
describe '#parsed_params' do
8090
it 'returns merged path, query and body params' do
8191
parsed_request = double(

spec/validated_response_spec.rb

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,28 @@
1414
expect(validated.parsed_headers).to be_nil
1515
end
1616
end
17+
18+
describe '#known?' do
19+
it 'returns false if response is unknown' do
20+
unknown_response = described_class.new(double(:response), error: double(:error))
21+
expect(unknown_response).not_to be_known
22+
end
23+
24+
it 'returns true if response is known' do
25+
valid_response = described_class.new(double(:response), error: nil, response_definition: double(:response_definition))
26+
expect(valid_response).to be_known
27+
end
28+
end
29+
30+
describe '#unknown?' do
31+
it 'returns true if response is unknown' do
32+
unknown_response = described_class.new(double(:response), error: double(:error))
33+
expect(unknown_response).to be_unknown
34+
end
35+
36+
it 'returns false if response is known' do
37+
valid_response = described_class.new(double(:response), error: nil, response_definition: double(:response_definition))
38+
expect(valid_response).not_to be_unknown
39+
end
40+
end
1741
end

0 commit comments

Comments
 (0)