Class: Pact::Provider::PactConfig::Base
- Inherits:
-
Object
- Object
- Pact::Provider::PactConfig::Base
- Defined in:
- lib/pact/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.
13 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 |
# File 'lib/pact/provider/pact_config/base.rb', line 13 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[:pact_proxy_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.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def broker_password @broker_password end |
#broker_token ⇒ Object (readonly)
Returns the value of attribute broker_token.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def broker_token @broker_token end |
#broker_url ⇒ Object (readonly)
Returns the value of attribute broker_url.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def broker_url @broker_url end |
#broker_username ⇒ Object (readonly)
Returns the value of attribute broker_username.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def broker_username @broker_username end |
#consumer_branch ⇒ Object (readonly)
Returns the value of attribute consumer_branch.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def consumer_branch @consumer_branch end |
#consumer_name ⇒ Object (readonly)
Returns the value of attribute consumer_name.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def consumer_name @consumer_name end |
#consumer_version ⇒ Object (readonly)
Returns the value of attribute consumer_version.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def consumer_version @consumer_version end |
#consumer_version_selectors ⇒ Object (readonly)
Returns the value of attribute consumer_version_selectors.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def consumer_version_selectors @consumer_version_selectors end |
#consumer_version_tags ⇒ Object (readonly)
Returns the value of attribute consumer_version_tags.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def @consumer_version_tags end |
#enable_pending ⇒ Object (readonly)
Returns the value of attribute enable_pending.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def enable_pending @enable_pending end |
#fail_if_no_pacts_found ⇒ Object (readonly)
Returns the value of attribute fail_if_no_pacts_found.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 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.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def include_wip_pacts_since @include_wip_pacts_since end |
#log_level ⇒ Object (readonly)
Returns the value of attribute log_level.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def log_level @log_level end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def logger @logger end |
#pact_dir ⇒ Object (readonly)
Returns the value of attribute pact_dir.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def pact_dir @pact_dir end |
#pact_proxy_port ⇒ Object (readonly)
Returns the value of attribute pact_proxy_port.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def pact_proxy_port @pact_proxy_port end |
#pact_uri ⇒ Object (readonly)
Returns the value of attribute pact_uri.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def pact_uri @pact_uri end |
#provider_build_uri ⇒ Object (readonly)
Returns the value of attribute provider_build_uri.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def provider_build_uri @provider_build_uri end |
#provider_name ⇒ Object (readonly)
Returns the value of attribute provider_name.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def provider_name @provider_name end |
#provider_setup_port ⇒ Object (readonly)
Returns the value of attribute provider_setup_port.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def provider_setup_port @provider_setup_port end |
#provider_setup_server ⇒ Object (readonly)
Returns the value of attribute provider_setup_server.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def provider_setup_server @provider_setup_server end |
#provider_version ⇒ Object (readonly)
Returns the value of attribute provider_version.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def provider_version @provider_version end |
#provider_version_branch ⇒ Object (readonly)
Returns the value of attribute provider_version_branch.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def provider_version_branch @provider_version_branch end |
#provider_version_tags ⇒ Object (readonly)
Returns the value of attribute provider_version_tags.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def @provider_version_tags end |
#publish_verification_results ⇒ Object (readonly)
Returns the value of attribute publish_verification_results.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def publish_verification_results @publish_verification_results end |
#verify_only ⇒ Object (readonly)
Returns the value of attribute verify_only.
7 8 9 |
# File 'lib/pact/provider/pact_config/base.rb', line 7 def verify_only @verify_only end |
Instance Method Details
#after_teardown(&block) ⇒ Object
91 92 93 |
# File 'lib/pact/provider/pact_config/base.rb', line 91 def after_teardown(&block) @provider_setup_server.set_after_teardown_hook(&block) end |
#before_setup(&block) ⇒ Object
87 88 89 |
# File 'lib/pact/provider/pact_config/base.rb', line 87 def before_setup(&block) @provider_setup_server.set_before_setup_hook(&block) end |
#message_setup_url ⇒ Object
rubocop:disable Rails/Delegate
68 69 70 |
# File 'lib/pact/provider/pact_config/base.rb', line 68 def # rubocop:disable Rails/Delegate @provider_setup_server. end |
#new_provider_state(name, opts: {}, &block) ⇒ Object
76 77 78 79 80 81 82 83 84 85 |
# File 'lib/pact/provider/pact_config/base.rb', line 76 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
95 96 97 |
# File 'lib/pact/provider/pact_config/base.rb', line 95 def new_verifier raise PactImplementationRequired, "#new_verifier should be implemented" end |
#pact_broker_proxy_url ⇒ Object
72 73 74 |
# File 'lib/pact/provider/pact_config/base.rb', line 72 def pact_broker_proxy_url @pact_proxy_server&.proxy_url end |
#provider_setup_url ⇒ Object
64 65 66 |
# File 'lib/pact/provider/pact_config/base.rb', line 64 def provider_setup_url @provider_setup_server.state_setup_url end |
#start_servers ⇒ Object
54 55 56 57 |
# File 'lib/pact/provider/pact_config/base.rb', line 54 def start_servers @provider_setup_server.start @pact_proxy_server&.start end |
#stop_servers ⇒ Object
59 60 61 62 |
# File 'lib/pact/provider/pact_config/base.rb', line 59 def stop_servers @provider_setup_server.stop @pact_proxy_server&.stop end |