Class: Sbmt::Pact::Provider::PactConfig::Base
- Inherits:
-
Object
- Object
- Sbmt::Pact::Provider::PactConfig::Base
- Defined in:
- lib/sbmt/pact/provider/pact_config/base.rb
Constant Summary collapse
- PACT_BROKER_FILTER_TYPE_NONE =
PactBrokerProxyRunner::FILTER_TYPE_NONE
- PACT_BROKER_FILTER_TYPE_GRPC =
PactBrokerProxyRunner::FILTER_TYPE_GRPC
- PACT_BROKER_FILTER_TYPE_ASYNC =
PactBrokerProxyRunner::FILTER_TYPE_ASYNC
- PACT_BROKER_FILTER_TYPE_SYNC =
PactBrokerProxyRunner::FILTER_TYPE_SYNC
- PACT_BROKER_FILTER_TYPE_HTTP =
PactBrokerProxyRunner::FILTER_TYPE_HTTP
Instance Attribute Summary collapse
-
#broker_password ⇒ Object
readonly
Returns the value of attribute broker_password.
-
#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.
-
#log_level ⇒ Object
readonly
Returns the value of attribute log_level.
-
#pact_proxy_port ⇒ Object
readonly
Returns the value of attribute pact_proxy_port.
-
#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.
-
#verify_only ⇒ Object
readonly
Returns the value of attribute verify_only.
Instance Method Summary collapse
- #after_teardown(&block) ⇒ Object
- #before_setup(&block) ⇒ Object
- #filter_type ⇒ Object
-
#initialize(provider_name:, opts: {}) ⇒ Base
constructor
A new instance of Base.
- #message_setup_url ⇒ Object
- #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.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 17 def initialize(provider_name:, opts: {}) @provider_name = provider_name @log_level = opts[:log_level] || :info @provider_setup_port = opts[:provider_setup_port] || 9001 @pact_proxy_port = opts[:provider_setup_port] || 9002 @provider_version = opts[:provider_version] || ENV.fetch("PACT_PROVIDER_VERSION", "1.0.0") @consumer_branch = opts[:consumer_branch] || ENV.fetch("PACT_CONSUMER_BRANCH", nil) @consumer_version = opts[:consumer_version] || ENV.fetch("PACT_CONSUMER_VERSION", nil) @consumer_name = opts[:consumer_name] @broker_url = opts[:broker_url] || ENV.fetch("PACT_BROKER_URL", nil) @broker_username = opts[:broker_username] || ENV.fetch("PACT_BROKER_USERNAME", "") @broker_password = opts[:broker_password] || ENV.fetch("PACT_BROKER_PASSWORD", "") @verify_only = opts[:verify_only] || [ENV.fetch("PACT_CONSUMER_FULL_NAME", nil)].compact @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, filter_type: filter_type, pact_broker_user: @broker_username, pact_broker_password: @broker_password ) end end |
Instance Attribute Details
#broker_password ⇒ Object (readonly)
Returns the value of attribute broker_password.
8 9 10 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 8 def broker_password @broker_password end |
#broker_url ⇒ Object (readonly)
Returns the value of attribute broker_url.
8 9 10 |
# File 'lib/sbmt/pact/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/sbmt/pact/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/sbmt/pact/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/sbmt/pact/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/sbmt/pact/provider/pact_config/base.rb', line 8 def consumer_version @consumer_version end |
#log_level ⇒ Object (readonly)
Returns the value of attribute log_level.
8 9 10 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 8 def log_level @log_level end |
#pact_proxy_port ⇒ Object (readonly)
Returns the value of attribute pact_proxy_port.
8 9 10 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 8 def pact_proxy_port @pact_proxy_port end |
#provider_name ⇒ Object (readonly)
Returns the value of attribute provider_name.
8 9 10 |
# File 'lib/sbmt/pact/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/sbmt/pact/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/sbmt/pact/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/sbmt/pact/provider/pact_config/base.rb', line 8 def provider_version @provider_version end |
#verify_only ⇒ Object (readonly)
Returns the value of attribute verify_only.
8 9 10 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 8 def verify_only @verify_only end |
Instance Method Details
#after_teardown(&block) ⇒ Object
81 82 83 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 81 def after_teardown(&block) @provider_setup_server.set_after_teardown_hook(&block) end |
#before_setup(&block) ⇒ Object
77 78 79 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 77 def before_setup(&block) @provider_setup_server.set_before_setup_hook(&block) end |
#filter_type ⇒ Object
40 41 42 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 40 def filter_type PACT_BROKER_FILTER_TYPE_NONE end |
#message_setup_url ⇒ Object
58 59 60 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 58 def @provider_setup_server. end |
#new_provider_state(name, opts: {}, &block) ⇒ Object
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 66 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
85 86 87 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 85 def new_verifier raise Sbmt::Pact::ImplementationRequired, "#new_verifier should be implemented" end |
#pact_broker_proxy_url ⇒ Object
62 63 64 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 62 def pact_broker_proxy_url @pact_proxy_server&.proxy_url end |
#provider_setup_url ⇒ Object
54 55 56 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 54 def provider_setup_url @provider_setup_server.state_setup_url end |
#start_servers ⇒ Object
44 45 46 47 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 44 def start_servers @provider_setup_server.start @pact_proxy_server&.start end |
#stop_servers ⇒ Object
49 50 51 52 |
# File 'lib/sbmt/pact/provider/pact_config/base.rb', line 49 def stop_servers @provider_setup_server.stop @pact_proxy_server&.stop end |