Home
Add Document
Sign In
Create An Account
Stick to the rules!
Download PDF
Comment
Report
32 Downloads
79 Views
Stick to the rules! Consumer Driven Contracts Marcin Grzejszczak @mgrzejszczak Jakub Kubrynski @jkubrynski
Marcin
Jakub
Grzejszczak
Kubryński
@mgrzejszczak
@jkubrynski
toomuchcoding.blogspot.com
www.kubrynski.com
TDD on architectural level
@mgrzejszczak
@jkubrynski
What is Consumer Driven Contract
● Server ● Consumer ● Contract @mgrzejszczak
@jkubrynski
Consumer Driven Contract benefits
@mgrzejszczak
@jkubrynski
Example
@mgrzejszczak
@jkubrynski
Example
@mgrzejszczak
@jkubrynski
How to solve it
● Consumer’s tests ● Server tests
@mgrzejszczak
@jkubrynski
Contract definition ●
Contract defines communication
●
Your stub is your contract - verify it!
●
Expose your stub to your consumers
@mgrzejszczak
@jkubrynski
Not so fast... ● Maintaining datasets ● What exactly verify for server side? ● Breaking changes
@mgrzejszczak
@jkubrynski
Consumer Technology Wiremock http://wiremock.org testCompile 'com.github.tomakehurst:wiremock:1.53' { "request": { "method": "GET", "url": "/hello" }, "response": { "status": 200, "body": "Hello world!", "headers": { "Content-Type": "text/plain" } } }
@mgrzejszczak
@jkubrynski
Server Technology Accurate REST https://github.com/Codearte/accurest buildscript { repositories { mavenCentral() } dependencies { classpath 'io.codearte.accurest:accurest-gradle-plugin:0.5.0' } } apply plugin: 'accurest'
@mgrzejszczak
@jkubrynski
Server Technology Accurate REST def shouldMarkClientAsNotFraud() { given: def request = given() .header('Content-Type', 'application/frud+json') .body('{"clientPesel":"12345678901", "loanAmount":123.123}') when: def response = given().spec(request) .put("/fraudcheck") then: response.statusCode == 200 response.header('Content-Type') == 'application/fraud+json' and: def responseBody = parseText(response.body.asString()) responseBody.fraudCheckStatus == "OK" }
@mgrzejszczak
@jkubrynski
Example
@mgrzejszczak
@jkubrynski
Live coding
@mgrzejszczak
@jkubrynski
Q&A github.com/marcingrzejszczak/geecon_cdc_examples
@mgrzejszczak
@jkubrynski
Recommend Documents
The Stick
STICK IT TO CANCER RULES Team Conduct: Stick It officials expect ...
STICK CATCHERS STICK CATCHERS
×
Report Stick to the rules!
Your name
Email
Reason
-Select Reason-
Pornographic
Defamatory
Illegal/Unlawful
Spam
Other Terms Of Service Violation
File a copyright complaint
Description
×
Sign In
Email
Password
Remember me
Forgot password?
Sign In
Login with Facebook
Our partners will collect data and use cookies for ad personalization and measurement.
Learn how we and our ad partner Google, collect and use data
.
Agree & Close