Class: Pact::ProviderVerifier::App

Inherits:
Object
  • Object
show all
Includes:
WaitUntilServerAvailable
Defined in:
lib/pact/provider_verifier/app.rb

Constant Summary collapse

PROXY_PACT_HELPER =
File.expand_path(File.join(File.dirname(__FILE__), "pact_helper.rb"))
EMPTY_ARRAY =
[].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from WaitUntilServerAvailable

#wait_until_server_available

Constructor Details

#initialize(pact_urls, options = {}) ⇒ App

Returns a new instance of App.



23
24
25
26
27
28
29
30
31
# File 'lib/pact/provider_verifier/app.rb', line 23

def initialize pact_urls, options = {}
  @pact_urls = pact_urls
  @options = options
  @consumer_version_tags = options.consumer_version_tag || EMPTY_ARRAY
  @provider_version_tags = merge_provider_version_tags(options)
  @provider_version_branch = options.provider_version_branch
  @consumer_version_selectors = parse_consumer_version_selectors(options.consumer_version_selector || EMPTY_ARRAY)
  @publish_verification_results = options.publish_verification_results || ENV['PACT_BROKER_PUBLISH_VERIFICATION_RESULTS'] == 'true'
end

Instance Attribute Details

#consumer_version_selectorsObject (readonly)

Returns the value of attribute consumer_version_selectors.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def consumer_version_selectors
  @consumer_version_selectors
end

#consumer_version_tagsObject (readonly)

Returns the value of attribute consumer_version_tags.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def consumer_version_tags
  @consumer_version_tags
end

#optionsObject (readonly)

Returns the value of attribute options.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def options
  @options
end

#pact_urlsObject (readonly)

Returns the value of attribute pact_urls.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def pact_urls
  @pact_urls
end

#provider_version_branchObject (readonly)

Returns the value of attribute provider_version_branch.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def provider_version_branch
  @provider_version_branch
end

#provider_version_tagsObject (readonly)

Returns the value of attribute provider_version_tags.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def provider_version_tags
  @provider_version_tags
end

#publish_verification_resultsObject (readonly)

Returns the value of attribute publish_verification_results.



21
22
23
# File 'lib/pact/provider_verifier/app.rb', line 21

def publish_verification_results
  @publish_verification_results
end

Class Method Details

.call(pact_urls, options) ⇒ Object



33
34
35
# File 'lib/pact/provider_verifier/app.rb', line 33

def self.call pact_urls, options
  new(pact_urls, options).call
end

Instance Method Details

#callObject



37
38
39
40
41
42
# File 'lib/pact/provider_verifier/app.rb', line 37

def call
  setup
  warn_empty_pact_set
  wait_until_provider_available
  pacts_pass_verification?
end