class RSpecApib::TransactionCoverageValidator
Attributes
parser[RW]
Public Class Methods
new(parser: RSpecApib.config.default_parser)
click to toggle source
# File lib/rspec_apib/transaction_coverage_validator.rb, line 5 def initialize(parser: RSpecApib.config.default_parser) self.parser = parser end
Public Instance Methods
validate(transactions:, error_messages:)
click to toggle source
# File lib/rspec_apib/transaction_coverage_validator.rb, line 9 def validate(transactions:, error_messages:) errors = [] reporter = TransactionCoverageReport.new(transactions: transactions, parser: parser) reporter.report_uncovered(errors: errors) reporter.report_undocumented(errors: errors) report_summary(errors: errors, error_messages: error_messages) end
Private Instance Methods
matched_transaction(request:, response:)
click to toggle source
# File lib/rspec_apib/transaction_coverage_validator.rb, line 31 def matched_transaction(request:, response:) parser.http_transactions.find { |t| t.matches?(request, response, options: {validate_request_schema: :never, validate_response_schema: :never}) } end
report_summary(errors:, error_messages:)
click to toggle source
# File lib/rspec_apib/transaction_coverage_validator.rb, line 19 def report_summary(errors:, error_messages:) if !errors.empty? error_messages.concat errors error_messages << "Coverage Summary: #{uncovered.length} uncovered and #{undocumented.length} undocumented transactions" false else true end end