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.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#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 51 52 |
# 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 @logger = opts[:logger] || 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, logger: @logger) 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, logger: @logger ) 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 |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
8 9 10 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 8 def logger @logger 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
92 93 94 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 92 def after_teardown(&block) @provider_setup_server.set_after_teardown_hook(&block) end |
#before_setup(&block) ⇒ Object
88 89 90 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 88 def before_setup(&block) @provider_setup_server.set_before_setup_hook(&block) end |
#message_setup_url ⇒ Object
rubocop:disable Rails/Delegate
69 70 71 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 69 def # rubocop:disable Rails/Delegate @provider_setup_server. end |
#new_provider_state(name, opts: {}, &block) ⇒ Object
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 77 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
96 97 98 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 96 def new_verifier raise Pact::V2::ImplementationRequired, "#new_verifier should be implemented" end |
#pact_broker_proxy_url ⇒ Object
73 74 75 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 73 def pact_broker_proxy_url @pact_proxy_server&.proxy_url end |
#provider_setup_url ⇒ Object
65 66 67 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 65 def provider_setup_url @provider_setup_server.state_setup_url end |
#start_servers ⇒ Object
55 56 57 58 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 55 def start_servers @provider_setup_server.start @pact_proxy_server&.start end |
#stop_servers ⇒ Object
60 61 62 63 |
# File 'lib/pact/v2/provider/pact_config/base.rb', line 60 def stop_servers @provider_setup_server.stop @pact_proxy_server&.stop end |