Class: OpenapiFirst::Test::Configuration
- Inherits:
-
Object
- Object
- OpenapiFirst::Test::Configuration
- Defined in:
- lib/openapi_first/test/configuration.rb
Overview
Helper class to setup tests
Instance Attribute Summary collapse
-
#coverage_formatter ⇒ Object
Returns the value of attribute coverage_formatter.
-
#coverage_formatter_options ⇒ Object
Returns the value of attribute coverage_formatter_options.
-
#ignore_unknown_requests ⇒ Object
(also: #ignore_unknown_requests?)
Returns the value of attribute ignore_unknown_requests.
-
#ignore_unknown_response_status ⇒ Object
(also: #ignore_unknown_response_status?)
Returns the value of attribute ignore_unknown_response_status.
-
#ignored_unknown_status ⇒ Object
Returns the value of attribute ignored_unknown_status.
-
#minimum_coverage ⇒ Object
Returns the value of attribute minimum_coverage.
-
#report_coverage ⇒ Object
Returns the value of attribute report_coverage.
-
#response_raise_error ⇒ Object
Returns the value of attribute response_raise_error.
Instance Method Summary collapse
-
#ignore_request_error(&block) ⇒ Object
Ignore certain errors for certain requests.
-
#ignore_response_error(&block) ⇒ Object
Ignore certain errors for certain responses.
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#observe(app, api: :default) ⇒ Object
Observe a rack app.
- #raise_request_error?(validated_request) ⇒ Boolean
- #raise_response_error?(validated_response, rack_request) ⇒ Boolean
-
#register(oad, as: :default) ⇒ Object
Register OADs, but don’t load them just yet.
- #skip_coverage(&block) ⇒ Object
- #skip_response_coverage(&block) ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/openapi_first/test/configuration.rb', line 7 def initialize @minimum_coverage = 100 @coverage_formatter = Coverage::TerminalFormatter @coverage_formatter_options = {} @skip_response_coverage = nil @skip_coverage = nil @response_raise_error = true @ignored_unknown_status = Set.new([401, 404, 500]) @ignore_unknown_response_status = false @report_coverage = true @ignore_unknown_requests = false @ignore_request_error = nil @ignore_response_error = nil end |
Instance Attribute Details
#coverage_formatter ⇒ Object
Returns the value of attribute coverage_formatter.
34 35 36 |
# File 'lib/openapi_first/test/configuration.rb', line 34 def coverage_formatter @coverage_formatter end |
#coverage_formatter_options ⇒ Object
Returns the value of attribute coverage_formatter_options.
34 35 36 |
# File 'lib/openapi_first/test/configuration.rb', line 34 def @coverage_formatter_options end |
#ignore_unknown_requests ⇒ Object Also known as: ignore_unknown_requests?
Returns the value of attribute ignore_unknown_requests.
34 35 36 |
# File 'lib/openapi_first/test/configuration.rb', line 34 def ignore_unknown_requests @ignore_unknown_requests end |
#ignore_unknown_response_status ⇒ Object Also known as: ignore_unknown_response_status?
Returns the value of attribute ignore_unknown_response_status.
34 35 36 |
# File 'lib/openapi_first/test/configuration.rb', line 34 def ignore_unknown_response_status @ignore_unknown_response_status end |
#ignored_unknown_status ⇒ Object
Returns the value of attribute ignored_unknown_status.
36 37 38 |
# File 'lib/openapi_first/test/configuration.rb', line 36 def ignored_unknown_status @ignored_unknown_status end |
#minimum_coverage ⇒ Object
Returns the value of attribute minimum_coverage.
34 35 36 |
# File 'lib/openapi_first/test/configuration.rb', line 34 def minimum_coverage @minimum_coverage end |
#report_coverage ⇒ Object
Returns the value of attribute report_coverage.
36 37 38 |
# File 'lib/openapi_first/test/configuration.rb', line 36 def report_coverage @report_coverage end |
#response_raise_error ⇒ Object
Returns the value of attribute response_raise_error.
34 35 36 |
# File 'lib/openapi_first/test/configuration.rb', line 34 def response_raise_error @response_raise_error end |
Instance Method Details
#ignore_request_error(&block) ⇒ Object
Ignore certain errors for certain requests
57 58 59 60 61 |
# File 'lib/openapi_first/test/configuration.rb', line 57 def ignore_request_error(&block) raise ArgumentError, 'You have to pass a block' unless block_given? @ignore_request_error = block end |
#ignore_response_error(&block) ⇒ Object
Ignore certain errors for certain responses
65 66 67 68 69 |
# File 'lib/openapi_first/test/configuration.rb', line 65 def ignore_response_error(&block) raise ArgumentError, 'You have to pass a block' unless block_given? @ignore_response_error = block end |
#observe(app, api: :default) ⇒ Object
Observe a rack app
30 31 32 |
# File 'lib/openapi_first/test/configuration.rb', line 30 def observe(app, api: :default) Observe.observe(app, api:) end |
#raise_request_error?(validated_request) ⇒ Boolean
87 88 89 90 91 92 |
# File 'lib/openapi_first/test/configuration.rb', line 87 def raise_request_error?(validated_request) return false if @ignore_request_error&.call(validated_request) return false if ignore_unknown_requests? && validated_request.unknown? true end |
#raise_response_error?(validated_response, rack_request) ⇒ Boolean
94 95 96 97 98 99 100 101 |
# File 'lib/openapi_first/test/configuration.rb', line 94 def raise_response_error?(validated_response, rack_request) return false if @ignore_response_error&.call(validated_response, rack_request) return false if response_raise_error == false return false if ignored_unknown_status.include?(validated_response.status) return false if ignore_unknown_response_status? && validated_response.error.type == :response_status_not_found true end |
#register(oad, as: :default) ⇒ Object
Register OADs, but don’t load them just yet
25 26 27 |
# File 'lib/openapi_first/test/configuration.rb', line 25 def register(oad, as: :default) Test.register(oad, as:) end |
#skip_coverage(&block) ⇒ Object
78 79 80 81 82 |
# File 'lib/openapi_first/test/configuration.rb', line 78 def skip_coverage(&block) return @skip_coverage unless block_given? @skip_coverage = block end |
#skip_response_coverage(&block) ⇒ Object
72 73 74 75 76 |
# File 'lib/openapi_first/test/configuration.rb', line 72 def skip_response_coverage(&block) return @skip_response_coverage unless block_given? @skip_response_coverage = block end |