github.com/lirantal
@liran_tal
github.com/lirantal
@liran_tal
Build
Test
Deploy
Build
Test
Deploy
Build
Test
Deploy
Build
Test
Deploy
src: https://apigee.com/about/blog/api-technology/microservices-amazon
Build
Test
Deploy
Build
Test
Deploy
Build
Test
Deploy
🤔
data: {
"movieId": 1001,
"name": "The Matrix"
"rating": 10
}
response: {
"status": 200
"body": []
}
Collaborate
Collaborate
Collaborate
Write
Contract Tests
Collaborate
Write
Contract Tests
request: {
"method": "GET",
"path": "/projects"
},
response: {
"status": 200
"body": []
}
Collaborate
Push Contract to Broker
Write
Contract Tests
Collaborate
Push Contract to Broker
Write
Contract Tests
Collaborate
Push Contract to Broker
Write
Contract Tests
Provider
Implements
Collaborate
Push Contract to Broker
Write
Contract Tests
Provider
Implements
function amazing_api_endpoint() {
// incredible logic goes here
// ...
// ...
}
Collaborate
Push Contract to Broker
Write
Contract Tests
Provider
Implements
Download
Contracts
Collaborate
Push Contract to Broker
Write
Contract Tests
Download
Contracts
Provider
Implements
request: {
"method": "GET",
"path": "/projects"
},
response: {
"status": 200
"body": []
}
Collaborate
Push Contract to Broker
Write
Contract Tests
Download
Contracts
Provider
Implements
Run Provider
Contract Tests
Collaborate
Push Contract to Broker
Write
Contract Tests
Download
Contracts
Provider
Implements
Run Provider
Contract Tests
request: {
"method": "GET",
"path": "/projects"
},
response: {
"status": 200
"body": []
}
Users
Service
Get Contracts
Create Contract
Projects
Service
Validate Contract Not Broken
Use Contract
Mock in Tests
data: {
"movieId": 1001,
"name": "The Matrix"
"totalReviews": 10,
"averageRating": 8
}
data: {
"movieId": 1001,
"name": "The Matrix"
"totalReviews": 10,
"averageRating": 8
}
response: {
"status": 200
"body": []
}
{
Pact Contract
Pact Broker
Consumer
Provider
data: {
"movieId": 1001,
"name": "The Matrix"
"rating": 10
}
Collaborate
Push Contract to Broker
Write
Contract Tests
Download
Contracts
Provider
Implements
Run Provider
Contract Tests
github.com/lirantal
@liran_tal