7777 default = '' ,
7878 help = 'Retrieve the latest pacts for this provider' )
7979@click .option (
80- 'header ' , '--custom-provider-header' ,
80+ 'headers ' , '--custom-provider-header' ,
8181 envvar = 'CUSTOM_PROVIDER_HEADER' ,
82+ multiple = True ,
8283 help = 'Header to add to provider state set up and '
8384 'pact verification requests. '
8485 'eg \' Authorization: Basic cGFjdDpwYWN0\' . '
105106 help = 'Toggle verbose logging, defaults to False.' )
106107def main (pacts , base_url , pact_url , pact_urls , states_url , states_setup_url ,
107108 username , broker_base_url , consumer_version_tag , provider_version_tag ,
108- password , token , provider , header , timeout , provider_app_version ,
109+ password , token , provider , headers , timeout , provider_app_version ,
109110 publish_verification_results , verbose ):
110111 """
111112 Verify one or more contracts against a provider service.
@@ -150,30 +151,22 @@ def main(pacts, base_url, pact_url, pact_urls, states_url, states_setup_url,
150151 '--pact-broker-base-url' : broker_base_url ,
151152 '--provider' : provider ,
152153 '--broker-password' : password ,
153- '--broker-token' : token ,
154- '--custom-provider-header' : header ,
154+ '--broker-token' : token
155155 }
156156
157157 command = [VERIFIER_PATH ]
158158 command .extend (all_pact_urls )
159159 command .extend (['{}={}' .format (k , v ) for k , v in options .items () if v ])
160160
161161 for tag in consumer_version_tag :
162- command .extend ([' --consumer-version-tag' , tag ])
162+ command .extend ([" --consumer-version-tag={}" . format ( tag ) ])
163163 for tag in provider_version_tag :
164- command .extend (['--provider-version-tag' , tag ])
164+ command .extend (["--provider-version-tag={}" .format (tag )])
165+ for header in headers :
166+ command .extend (["--custom-provider-header={}" .format (header )])
165167
166168 if publish_verification_results :
167- if not provider_app_version :
168- click .echo (
169- error
170- + 'Provider application version is required '
171- + 'to publish verification results to broker'
172- )
173- raise click .Abort ()
174- command .extend (["--provider-app-version" ,
175- provider_app_version ,
176- "--publish-verification-results" ])
169+ publish_results (error , provider_app_version , command )
177170
178171 if verbose :
179172 command .extend (['--verbose' ])
@@ -188,6 +181,20 @@ def main(pacts, base_url, pact_url, pact_urls, states_url, states_setup_url,
188181 sys .exit (p .returncode )
189182
190183
184+ def publish_results (error , provider_app_version , command ):
185+ """Publish results to broker."""
186+ if not provider_app_version :
187+ click .echo (
188+ error
189+ + 'Provider application version is required '
190+ + 'to publish verification results to broker'
191+ )
192+ raise click .Abort ()
193+ command .extend (["--provider-app-version" ,
194+ provider_app_version ,
195+ "--publish-verification-results" ])
196+
197+
191198def broker_not_provided (broker_base_url , provider ):
192199 """Check if broker not provided."""
193200 return (broker_base_url == '' or provider == '' )
0 commit comments