class Pact::ProviderVerifier::CLI::Verify
Public Class Methods
Source
# File lib/pact/provider_verifier/cli/verify.rb, line 129 def self.exit_on_failure? true end
Public Instance Methods
Source
# File lib/pact/provider_verifier/cli/verify.rb, line 125 def exit_with_non_zero_status exit 1 end
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
Source
# File lib/pact/provider_verifier/cli/verify.rb, line 67 def print_deprecation_warnings if options.pact_urls $stderr.puts "WARN: The --pact-urls option is deprecated. Please pass in a space separated list of URLs as the first arguments to the pact-provider-verifier command." end end
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
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
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
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
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
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
Source
# File lib/pact/provider_verifier/cli/verify.rb, line 56 def version require 'pact/provider_verifier/version' puts Pact::ProviderVerifier::VERSION end