class Pact::ProviderVerifier::CLI::Verify

Public Class Methods

exit_on_failure?() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 129
def self.exit_on_failure?
  true
end

Public Instance Methods

exit_with_non_zero_status() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 125
def exit_with_non_zero_status
  exit 1
end
merged_urls(pact_urls_from_args) click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 62
def merged_urls pact_urls_from_args
  from_opts = options.pact_urls ? options.pact_urls.split(',') : []
  from_opts + pact_urls_from_args
end
print_deprecation_warnings() click to toggle source
validate_consumer_version_selectors() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 101
def validate_consumer_version_selectors
  error_messages = (options.consumer_version_selector || []).collect do | string |
    begin
      JSON.parse(string)
      nil
    rescue
      "Invalid JSON string provided for --consumer-version-selector: #{string}"
    end
  end.compact

  if error_messages.any?
    raise InvalidArgumentsError, error_messages.join("\n")
  end
end
validate_credentials() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 83
def validate_credentials
  if (options.broker_username || ENV['PACT_BROKER_USERNAME']) && (options.broker_token || ENV['PACT_BROKER_TOKEN'])
    raise AuthError, "You cannot provide both a username/password and a bearer token. If your Pact Broker uses a bearer token, please remove the username and password configuration."
  end
end
validate_log_level() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 116
def validate_log_level
  if options.log_level
    valid_log_levels = %w{debug info warn error fatal}
    if !valid_log_levels.include?(options.log_level.downcase)
      raise InvalidArgumentsError, "Invalid log level '#{options.log_level}'. Must be one of: #{valid_log_levels.join(", ")}."
    end
  end
end
validate_verify() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 73
def validate_verify
  if options.pact_broker_base_url && (options.provider.nil? || options.provider == "")
    raise InvalidArgumentsError, "No value provided for required option '--provider'"
  end
  validate_consumer_version_selectors
  validate_wip_since_date
  validate_credentials
  validate_log_level
end
validate_wip_since_date() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 89
def validate_wip_since_date
  require 'date'

  if options.include_wip_pacts_since
    begin
      DateTime.parse(options.include_wip_pacts_since)
    rescue ArgumentError
      raise InvalidArgumentsError, "The value provided for --include-wip-pacts-since could not be parsed to a DateTime. Please provide a value in the format %Y-%m-%d or %Y-%m-%dT%H:%M:%S.000%:z"
    end
  end
end
verify(*pact_urls) click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 44
def verify(*pact_urls)
  require 'pact/provider_verifier/app'
  require 'socket'
  validate_verify
  print_deprecation_warnings
  success = Pact::ProviderVerifier::App.call(merged_urls(pact_urls), options)
  exit_with_non_zero_status if !success && !options.ignore_failures
end
version() click to toggle source
# File lib/pact/provider_verifier/cli/verify.rb, line 56
def version
  require 'pact/provider_verifier/version'
  puts Pact::ProviderVerifier::VERSION
end