Sha256: 38adfa2dad11ede52a47b6d1aed90d0f6ec731298e10a84d17076a7afc79981e
Contents?: true
Size: 1.47 KB
Versions: 1
Compression:
Stored size: 1.47 KB
Contents
RSpec::Matchers.define :have_validated_service do |group_name, service_name| @requested_name = service_name @contract = Pacto.contract_registry.find{ |c| c.name == @requested_name } match do unless @contract.nil? @validations = Pacto::ValidationRegistry.instance.validations.select {|v| # FIXME: Same contract on multiple servers is currently problematic v.contract && v.contract.name == @contract.name } !(@validations.empty? || @validations.map(&:successful?).include?(false)) end end failure_message_for_should do buffer = StringIO.new buffer.puts "expected Pacto to have validated #{@requested_name}" if @contract.nil? buffer.puts ' but no known contract matches that name' elsif @validations.empty? buffer.puts ' but no request matched the pattern' buffer.puts " pattern: #{@contract.request_pattern}" buffer.puts ' received:' buffer.puts "#{WebMock::RequestRegistry.instance}" elsif @validations.map(&:successful?).include?(false) buffer.puts ' but validation errors were found:' buffer.print ' ' validation_results = @validations.map(&:results).flatten.compact buffer.puts validation_results.join "\n " validation_results.each do |validation_result| buffer.puts " #{validation_result}" end else # FIXME: ensure this is unreachable? buffer.puts ' but an unknown problem occurred' end buffer.string end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
polytrix-0.0.1 | features/pacto/extensions/matchers.rb |