Class: Pact::V2::Provider::PactConfig::Base
- Inherits:
-
Object
- Object
- Pact::V2::Provider::PactConfig::Base
- Defined in:
- lib/pact/v2/provider/pact_config/base.rb
Instance Attribute Summary collapse
-
#broker_password ⇒ Object
readonly
Returns the value of attribute broker_password.
-
#broker_token ⇒ Object
readonly
Returns the value of attribute broker_token.
-
#broker_url ⇒ Object
readonly
Returns the value of attribute broker_url.
-
#broker_username ⇒ Object
readonly
Returns the value of attribute broker_username.
-
#consumer_branch ⇒ Object
readonly
Returns the value of attribute consumer_branch.
-
#consumer_name ⇒ Object
readonly
Returns the value of attribute consumer_name.
-
#consumer_version ⇒ Object
readonly
Returns the value of attribute consumer_version.
-
#consumer_version_selectors ⇒ Object
readonly
Returns the value of attribute consumer_version_selectors.
-
#consumer_version_tags ⇒ Object
readonly
Returns the value of attribute consumer_version_tags.
-
#enable_pending ⇒ Object
readonly
Returns the value of attribute enable_pending.
-
#fail_if_no_pacts_found ⇒ Object
readonly
Returns the value of attribute fail_if_no_pacts_found.
-
#include_wip_pacts_since ⇒ Object
readonly
Returns the value of attribute include_wip_pacts_since.
-
#log_level ⇒ Object
readonly
Returns the value of attribute log_level.
-
#pact_dir ⇒ Object
readonly
Returns the value of attribute pact_dir.
-
#pact_proxy_port ⇒ Object
readonly
Returns the value of attribute pact_proxy_port.
-
#pact_uri ⇒ Object
readonly
Returns the value of attribute pact_uri.
-
#provider_build_uri ⇒ Object
readonly
Returns the value of attribute provider_build_uri.
-
#provider_name ⇒ Object
readonly
Returns the value of attribute provider_name.
-
#provider_setup_port ⇒ Object
readonly
Returns the value of attribute provider_setup_port.
-
#provider_setup_server ⇒ Object
readonly
Returns the value of attribute provider_setup_server.
-
#provider_version ⇒ Object
readonly
Returns the value of attribute provider_version.
-
#provider_version_branch ⇒ Object
readonly
Returns the value of attribute provider_version_branch.
-
#provider_version_tags ⇒ Object
readonly
Returns the value of attribute provider_version_tags.
-
#publish_verification_results ⇒ Object
readonly
Returns the value of attribute publish_verification_results.
-
#verify_only ⇒ Object
readonly
Returns the value of attribute verify_only.
Instance Method Summary collapse
- #after_teardown(&block) ⇒ Object
- #before_setup(&block) ⇒ Object
-
#initialize(provider_name:, opts: {}) ⇒ Base
constructor
A new instance of Base.
-
#message_setup_url ⇒ Object
rubocop:disable Rails/Delegate.
- #new_provider_state(name, opts: {}, &block) ⇒ Object
- #new_verifier ⇒ Object
- #pact_broker_proxy_url ⇒ Object
- #provider_setup_url ⇒ Object
- #start_servers ⇒ Object
- #stop_servers ⇒ Object
Constructor Details
#initialize(provider_name:, opts: {}) ⇒ Base
Returns a new instance of Base.
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 14 def initialize(provider_name:, opts: {}) @provider_name = provider_name @log_level = opts[:log_level] || :info @pact_dir = opts[:pact_dir] || nil @provider_setup_port = opts[:provider_setup_port] || 9001 @pact_proxy_port = opts[:provider_setup_port] || 9002 @pact_uri = ENV.fetch("PACT_URL", nil) || opts.fetch(:pact_uri, nil) @publish_verification_results = ENV.fetch("PACT_PUBLISH_VERIFICATION_RESULTS", nil) == "true" || opts.fetch(:publish_verification_results, false) @provider_version = ENV.fetch("PACT_PROVIDER_VERSION", nil) || opts.fetch(:provider_version, nil) @provider_build_uri = ENV.fetch("PACT_PROVIDER_BUILD_URL", nil) || opts.fetch(:provider_build_uri, nil) @provider_version_branch = ENV.fetch("PACT_PROVIDER_BRANCH", nil) || opts.fetch(:provider_version_branch, nil) @provider_version_tags = ENV.fetch("PACT_PROVIDER_VERSION_TAGS", nil) || opts.fetch(:provider_version_tags, []) @consumer_version_tags = ENV.fetch("PACT_CONSUMER_VERSION_TAGS", nil) || opts.fetch(:consumer_version_tags, []) @consumer_version_selectors = ENV.fetch("PACT_CONSUMER_VERSION_SELECTORS", nil) || opts.fetch(:consumer_version_selectors, nil) @enable_pending = ENV.fetch("PACT_VERIFIER_ENABLE_PENDING", nil) == "true" || opts.fetch(:enable_pending, false) @include_wip_pacts_since = ENV.fetch("PACT_INCLUDE_WIP_PACTS_SINCE", nil) || opts.fetch(:include_wip_pacts_since, nil) @fail_if_no_pacts_found = ENV.fetch("PACT_FAIL_IF_NO_PACTS_FOUND", nil) == "true" || opts.fetch(:fail_if_no_pacts_found, true) @consumer_branch = ENV.fetch("PACT_CONSUMER_BRANCH", nil) || opts.fetch(:consumer_branch, nil) @consumer_version = ENV.fetch("PACT_CONSUMER_VERSION", nil) || opts.fetch(:consumer_version, nil) @consumer_name = opts[:consumer_name] @broker_url = ENV.fetch("PACT_BROKER_BASE_URL", nil) || opts.fetch(:broker_url, nil) @broker_username = ENV.fetch("PACT_BROKER_USERNAME", nil) || opts.fetch(:broker_username, nil) @broker_password = ENV.fetch("PACT_BROKER_PASSWORD", nil) || opts.fetch(:broker_password, nil) @broker_token = ENV.fetch("PACT_BROKER_TOKEN", nil) || opts.fetch(:broker_token, nil) @verify_only = [ENV.fetch("PACT_CONSUMER_FULL_NAME", nil)].compact || opts.fetch(:verify_only, []) @provider_setup_server = opts[:provider_setup_server] || ProviderServerRunner.new(port: @provider_setup_port) if @broker_url.present? @pact_proxy_server = PactBrokerProxyRunner.new( port: @pact_proxy_port, pact_broker_host: @broker_url, pact_broker_user: @broker_username, pact_broker_password: @broker_password, pact_broker_token: @broker_token ) end end |
Instance Attribute Details
#broker_password ⇒ Object (readonly)
Returns the value of attribute broker_password.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def broker_password @broker_password end |
#broker_token ⇒ Object (readonly)
Returns the value of attribute broker_token.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def broker_token @broker_token end |
#broker_url ⇒ Object (readonly)
Returns the value of attribute broker_url.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def broker_url @broker_url end |
#broker_username ⇒ Object (readonly)
Returns the value of attribute broker_username.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def broker_username @broker_username end |
#consumer_branch ⇒ Object (readonly)
Returns the value of attribute consumer_branch.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def consumer_branch @consumer_branch end |
#consumer_name ⇒ Object (readonly)
Returns the value of attribute consumer_name.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def consumer_name @consumer_name end |
#consumer_version ⇒ Object (readonly)
Returns the value of attribute consumer_version.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def consumer_version @consumer_version end |
#consumer_version_selectors ⇒ Object (readonly)
Returns the value of attribute consumer_version_selectors.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def consumer_version_selectors @consumer_version_selectors end |
#consumer_version_tags ⇒ Object (readonly)
Returns the value of attribute consumer_version_tags.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def @consumer_version_tags end |
#enable_pending ⇒ Object (readonly)
Returns the value of attribute enable_pending.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def enable_pending @enable_pending end |
#fail_if_no_pacts_found ⇒ Object (readonly)
Returns the value of attribute fail_if_no_pacts_found.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def fail_if_no_pacts_found @fail_if_no_pacts_found end |
#include_wip_pacts_since ⇒ Object (readonly)
Returns the value of attribute include_wip_pacts_since.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def include_wip_pacts_since @include_wip_pacts_since end |
#log_level ⇒ Object (readonly)
Returns the value of attribute log_level.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def log_level @log_level end |
#pact_dir ⇒ Object (readonly)
Returns the value of attribute pact_dir.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def pact_dir @pact_dir end |
#pact_proxy_port ⇒ Object (readonly)
Returns the value of attribute pact_proxy_port.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def pact_proxy_port @pact_proxy_port end |
#pact_uri ⇒ Object (readonly)
Returns the value of attribute pact_uri.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def pact_uri @pact_uri end |
#provider_build_uri ⇒ Object (readonly)
Returns the value of attribute provider_build_uri.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def provider_build_uri @provider_build_uri end |
#provider_name ⇒ Object (readonly)
Returns the value of attribute provider_name.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def provider_name @provider_name end |
#provider_setup_port ⇒ Object (readonly)
Returns the value of attribute provider_setup_port.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def provider_setup_port @provider_setup_port end |
#provider_setup_server ⇒ Object (readonly)
Returns the value of attribute provider_setup_server.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def provider_setup_server @provider_setup_server end |
#provider_version ⇒ Object (readonly)
Returns the value of attribute provider_version.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def provider_version @provider_version end |
#provider_version_branch ⇒ Object (readonly)
Returns the value of attribute provider_version_branch.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def provider_version_branch @provider_version_branch end |
#provider_version_tags ⇒ Object (readonly)
Returns the value of attribute provider_version_tags.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def @provider_version_tags end |
#publish_verification_results ⇒ Object (readonly)
Returns the value of attribute publish_verification_results.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def publish_verification_results @publish_verification_results end |
#verify_only ⇒ Object (readonly)
Returns the value of attribute verify_only.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def verify_only @verify_only end |
Instance Method Details
#after_teardown(&block) ⇒ Object
90 91 92 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 90 def after_teardown(&block) @provider_setup_server.set_after_teardown_hook(&block) end |
#before_setup(&block) ⇒ Object
86 87 88 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 86 def before_setup(&block) @provider_setup_server.set_before_setup_hook(&block) end |
#message_setup_url ⇒ Object
rubocop:disable Rails/Delegate
67 68 69 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 67 def # rubocop:disable Rails/Delegate @provider_setup_server. end |
#new_provider_state(name, opts: {}, &block) ⇒ Object
75 76 77 78 79 80 81 82 83 84 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 75 def new_provider_state(name, opts: {}, &block) config = ProviderStateConfiguration.new(name, opts: opts) config.instance_eval(&block) config.validate! use_hooks = !opts[:skip_hooks] @provider_setup_server.add_setup_state(name, use_hooks, &config.setup_proc) if config.setup_proc @provider_setup_server.add_teardown_state(name, use_hooks, &config.teardown_proc) if config.teardown_proc end |
#new_verifier ⇒ Object
94 95 96 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 94 def new_verifier raise Pact::V2::ImplementationRequired, "#new_verifier should be implemented" end |
#pact_broker_proxy_url ⇒ Object
71 72 73 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 71 def pact_broker_proxy_url @pact_proxy_server&.proxy_url end |
#provider_setup_url ⇒ Object
63 64 65 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 63 def provider_setup_url @provider_setup_server.state_setup_url end |
#start_servers ⇒ Object
53 54 55 56 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 53 def start_servers @provider_setup_server.start @pact_proxy_server&.start end |
#stop_servers ⇒ Object
58 59 60 61 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 58 def stop_servers @provider_setup_server.stop @pact_proxy_server&.stop end |