Skip to content

Commit 7c7bc7d

Browse files
Merge pull request #62 from dhoomakethu/master
Add support to publish verification result to pact broker
2 parents 08cd592 + c27a7a9 commit 7c7bc7d

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

pact/verify.py

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,19 @@
5252
help='The duration in seconds we should wait to confirm verification'
5353
' process was successful. Defaults to 30.',
5454
type=int)
55-
def main(base_url, pact_url, pact_urls, states_url, states_setup_url, username,
56-
password, timeout):
55+
@click.option(
56+
'provider_app_version', '-a', '--provider-app-version',
57+
help='The provider application version, '
58+
'required for publishing verification results'
59+
)
60+
@click.option(
61+
'publish_verification_results', '-r', '--publish-verification-results',
62+
default=False,
63+
help='Publish verification results to the broker',
64+
is_flag=True)
65+
def main(base_url, pact_url, pact_urls, states_url,
66+
states_setup_url, username, password, timeout, provider_app_version,
67+
publish_verification_results):
5768
"""
5869
Verify one or more contracts against a provider service.
5970
@@ -96,10 +107,19 @@ def main(base_url, pact_url, pact_urls, states_url, states_setup_url, username,
96107
'--broker-username': username,
97108
'--broker-password': password
98109
}
99-
100110
command = [VERIFIER_PATH] + [
101111
'{}={}'.format(k, v) for k, v in options.items() if v]
102-
112+
if publish_verification_results:
113+
if not provider_app_version:
114+
click.echo(
115+
error
116+
+ 'Provider application version is required '
117+
+ 'to publish verification results to broker'
118+
)
119+
raise click.Abort()
120+
command.extend(["--provider-app-version",
121+
provider_app_version,
122+
"--publish-verification-results"])
103123
p = subprocess.Popen(command)
104124
p.communicate(timeout=timeout)
105125
sys.exit(p.returncode)

0 commit comments

Comments
 (0)