Skip to content

Commit

Permalink
Add support to publish verification result to pact broker
Browse files Browse the repository at this point in the history
  • Loading branch information
dhoomakethu committed Oct 31, 2017
1 parent c1a5402 commit cdcc85d
Showing 1 changed file with 22 additions and 3 deletions.
25 changes: 22 additions & 3 deletions pact/verify.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,18 @@
help='The duration in seconds we should wait to confirm verification'
' process was successful. Defaults to 30.',
type=int)
@click.option(
'provider_app_version', '-a', '--provider-app-version',
help='The provider application version, required for publishing verification results'
)
@click.option(
'publish_verification_results', '-r', '--publish-verification-results',
default=False,
help='Publish verification results to the broker',
is_flag=True,)

def main(base_url, pact_url, pact_urls, states_url, states_setup_url, username,
password, timeout):
password, timeout, provider_app_version, publish_verification_results):
"""
Verify one or more contracts against a provider service.
Expand Down Expand Up @@ -94,10 +104,19 @@ def main(base_url, pact_url, pact_urls, states_url, states_setup_url, username,
'--broker-username': username,
'--broker-password': password
}

command = [VERIFIER_PATH] + [
'{}={}'.format(k, v) for k, v in options.items() if v]


if publish_verification_results:
if not provider_app_version:
click.echo(
error
+ 'Provider application version is required '
+ 'to publish verification results to broker'
)
raise click.Abort()
command.extend(["--provider-app-version", provider_app_version, "--publish-verification-results"])
p = subprocess.Popen(command)
p.communicate(timeout=timeout)
sys.exit(p.returncode)
Expand Down

0 comments on commit cdcc85d

Please sign in to comment.