{"captions":[{"id":"oujl3ukf3tqbfxy4","bcp47LanguageTag":"en","familyName":"English","familyNativeName":"English","hasCaptions":true,"hasVideoStream":true,"key":"wistia-production_oujl3ukf3tqbfxy4","mediaHashedId":"1c2x7osz00","name":"English","nativeName":"English","wistiaLanguageCode":"eng","hash":{"lines":[{"start":1.68,"end":4.96,"text":["Contract testing is a technique","for testing an integration"]},{"start":4.96,"end":8.005,"text":["point by checking each","application in isolation."]},{"start":8.005,"end":11.925,"text":["To ensure that the messages it","sends or receives conform to a"]},{"start":11.925,"end":15.585,"text":["shared understanding that","is documented in a contract."]},{"start":15.74,"end":17.18,"text":["Without contract testing,"]},{"start":17.18,"end":19.5,"text":["the only way to ensure","that applications will work"]},{"start":19.5,"end":22.38,"text":["correctly together is by","using expensive and brittle"]},{"start":22.38,"end":24.12,"text":["integration tests."]},{"start":24.595,"end":28.415,"text":["Pact is a code first","tool for testing HTTP"]},{"start":28.435,"end":32.015,"text":["and message integrations","using contract tests."]},{"start":32.29,"end":36.85,"text":["Using Pact, API consumers and providers","can generate contracts from their"]},{"start":36.85,"end":38.91,"text":["application's unit tests."]},{"start":38.985,"end":41.845,"text":["These contracts contain","expected interactions."]},{"start":41.865,"end":46.345,"text":["For example, an expected request","describing what the consumer is expected"]},{"start":46.345,"end":50.55,"text":["to send to the provider and","a minimal expected response,"]},{"start":50.55,"end":53.75,"text":["describing the parts of the","response the consumer wants the"]},{"start":53.75,"end":55.57,"text":["provider to return."]},{"start":56.205,"end":59.304,"text":["This information is then","sent to a Pact broker."]},{"start":59.405,"end":62.525,"text":["The Pact broker is a","permanently running externally"]},{"start":62.525,"end":66.9,"text":["hosted service with an API","and UI that allows contract"]},{"start":66.9,"end":70.72,"text":["testing to be integrated","into a CICD pipeline."]},{"start":70.83,"end":74.905,"text":["PactFlow is a commercial","offering of the Pact broker."]},{"start":74.905,"end":79.225,"text":["Which adds features required","to use Pact at scale, like"]},{"start":79.225,"end":83.285,"text":["UIs for verification results","and webhooks management,"]},{"start":83.55,"end":87.69,"text":["API tokens so you don't have to","share basic auth credentials,"]},{"start":87.87,"end":90.81,"text":["single sign on,","secrets management,"]},{"start":90.825,"end":96.725,"text":["and extended collaboration with","teams, users, roles, and permissions."]},{"start":96.932,"end":101.84,"text":["PactFlow is the industry's most","comprehensive contract testing platform."]},{"start":101.84,"end":104.56,"text":["Stop wasting time","and start releasing."]},{"start":104.56,"end":107.18,"text":["Try out PactFlow for free today."]}]},"language":"eng","alpha3_terminologic":"eng","alpha3_bibliographic":"eng","iso639_2_language_code":"en","english_name":"English","media_hashed_id":"1c2x7osz00","native_name":"English","right_to_left":false,"generic_name":"English","generic_native_name":"English"}],"preferred_languages":[]}