Sha256: f43a0ccf41f54d2762c320dc0425968d9980ce40ef6fa6dc00823d17266f8472
Contents?: true
Size: 1.54 KB
Versions: 3
Compression:
Stored size: 1.54 KB
Contents
require 'rake/tasklib' module Pact class ProxyVerificationTask < ::Rake::TaskLib attr_reader :pact_spec_configs def initialize(name) @pact_spec_configs = [] @provider_base_url = nil @name = name yield self rake_task end def pact_url(uri, options = {}) @pact_spec_configs << {uri: uri, pact_helper: options[:pact_helper]} end # For compatiblity with the normal VerificationTask, allow task.uri alias_method :uri, :pact_url def provider_base_url url @provider_base_url = url end private attr_reader :name def project_pact_helper_path begin Pact::Provider::PactHelperLocater.pact_helper_path rescue '' end end def rake_task namespace :pact do desc "Verify running provider against the consumer pacts for #{name}" task "verify:#{name}" do |t, args| require 'pact/provider/proxy/task_helper' proxy_pact_helper = File.expand_path('../../proxy_pact_helper.rb', __FILE__) exit_statuses = pact_spec_configs.collect do | config | ENV['PACT_PROVIDER_BASE_URL'] = @provider_base_url ENV['PACT_PROJECT_PACT_HELPER'] = config[:pact_helper] || project_pact_helper_path Pact::Provider::Proxy::TaskHelper.execute_pact_verify config[:uri], proxy_pact_helper end Pact::Provider::Proxy::TaskHelper.handle_verification_failure do exit_statuses.count{ | status | status != 0 } end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems