SlideShare a Scribd company logo
Stick to the rules!
Consumer Driven Contracts
Marcin Grzejszczak @mgrzejszczak
Jakub Kubrynski @jkubrynski
Jakub
Kubryński
@jkubrynski
www.kubrynski.com
Marcin
Grzejszczak
@mgrzejszczak
toomuchcoding.blogspot.com
TDD on architectural level
@mgrzejszczak @jkubrynski
What is
Consumer Driven Contract
@mgrzejszczak @jkubrynski
● Server
● Consumer
● Contract
Consumer Driven Contract
benefits
@mgrzejszczak @jkubrynski
Example
@mgrzejszczak @jkubrynski
Example
@mgrzejszczak @jkubrynski
How to solve it
@mgrzejszczak @jkubrynski
● Consumer’s tests
● Server tests
Contract definition
@mgrzejszczak @jkubrynski
● Contract defines communication
● Your stub is your contract - verify it!
● Expose your stub to your consumers
Consumer Technology
@mgrzejszczak @jkubrynski
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" }
}
}
Server Technology
@mgrzejszczak @jkubrynski
Accurate REST
https://github.com/Codearte/accurest
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.codearte.accurest:accurest-gradle-plugin:0.5.0'
}
}
apply plugin: 'accurest'
Server Technology
@mgrzejszczak @jkubrynski
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"
}
Example
@mgrzejszczak @jkubrynski
Live coding
@mgrzejszczak @jkubrynski
Q&A
@mgrzejszczak @jkubrynski
github.com/marcingrzejszczak/4developers_cdc_examples

More Related Content

Viewers also liked

REST - the good and the bad parts
REST - the good and the bad partsREST - the good and the bad parts
REST - the good and the bad parts
Jakub Kubrynski
 
REST - the good and the bad parts
REST - the good and the bad partsREST - the good and the bad parts
REST - the good and the bad parts
Jakub Kubrynski
 
JVM Dive for mere mortals
JVM Dive for mere mortalsJVM Dive for mere mortals
JVM Dive for mere mortals
Jakub Kubrynski
 
-XX:+UseG1GC
-XX:+UseG1GC-XX:+UseG1GC
-XX:+UseG1GC
Jakub Kubrynski
 
Spring Boot
Spring BootSpring Boot
Spring Boot
HongSeong Jeon
 
JPA - Beyond copy-paste
JPA - Beyond copy-pasteJPA - Beyond copy-paste
JPA - Beyond copy-paste
Jakub Kubrynski
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
Jakub Kubrynski
 
Create space for girls' education (2)
Create space for girls' education (2)Create space for girls' education (2)
Create space for girls' education (2)
Dr. Sushma H.B
 
The Century Project, PLACE
The Century Project, PLACEThe Century Project, PLACE
The Century Project, PLACE
tgvku91
 
Green buildings in qatar
Green buildings in qatarGreen buildings in qatar
Green buildings in qatar
Green Building Academy
 
Unit 1 Nouns
Unit 1 NounsUnit 1 Nouns
Unit 1 Nouns
Nixie05
 
Nxt programming
Nxt programmingNxt programming
Nxt programming
faridavellaneda
 
Danh sach so do
Danh sach so doDanh sach so do
Danh sach so do
Nguyễn Ngọc Phan Văn
 
La préfecture interdit toute manifestation aux abords du bar identitaire, samedi
La préfecture interdit toute manifestation aux abords du bar identitaire, samediLa préfecture interdit toute manifestation aux abords du bar identitaire, samedi
La préfecture interdit toute manifestation aux abords du bar identitaire, samedi
Jean-michel Neugate
 
sombreros vueltiaos
sombreros vueltiaos sombreros vueltiaos
sombreros vueltiaos
yeider ustate gil
 
btc-e chat history
btc-e chat historybtc-e chat history
btc-e chat history
boxbandit
 
ARC/NHMRC Grant Compliance @ UWS
ARC/NHMRC Grant Compliance @ UWSARC/NHMRC Grant Compliance @ UWS
ARC/NHMRC Grant Compliance @ UWS
Western Sydney University
 
Fatih projesi
Fatih projesiFatih projesi
Fatih projesiFLakyLive
 
5M Your Inspiring Training Partner
5M Your Inspiring Training Partner5M Your Inspiring Training Partner
5M Your Inspiring Training Partner
5mispvt company
 
某球侠的奥林匹克——羽毛球现场观球记
某球侠的奥林匹克——羽毛球现场观球记某球侠的奥林匹克——羽毛球现场观球记
某球侠的奥林匹克——羽毛球现场观球记qyqing
 

Viewers also liked (20)

REST - the good and the bad parts
REST - the good and the bad partsREST - the good and the bad parts
REST - the good and the bad parts
 
REST - the good and the bad parts
REST - the good and the bad partsREST - the good and the bad parts
REST - the good and the bad parts
 
JVM Dive for mere mortals
JVM Dive for mere mortalsJVM Dive for mere mortals
JVM Dive for mere mortals
 
-XX:+UseG1GC
-XX:+UseG1GC-XX:+UseG1GC
-XX:+UseG1GC
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
JPA - Beyond copy-paste
JPA - Beyond copy-pasteJPA - Beyond copy-paste
JPA - Beyond copy-paste
 
Introduction to Spring Boot!
Introduction to Spring Boot!Introduction to Spring Boot!
Introduction to Spring Boot!
 
Create space for girls' education (2)
Create space for girls' education (2)Create space for girls' education (2)
Create space for girls' education (2)
 
The Century Project, PLACE
The Century Project, PLACEThe Century Project, PLACE
The Century Project, PLACE
 
Green buildings in qatar
Green buildings in qatarGreen buildings in qatar
Green buildings in qatar
 
Unit 1 Nouns
Unit 1 NounsUnit 1 Nouns
Unit 1 Nouns
 
Nxt programming
Nxt programmingNxt programming
Nxt programming
 
Danh sach so do
Danh sach so doDanh sach so do
Danh sach so do
 
La préfecture interdit toute manifestation aux abords du bar identitaire, samedi
La préfecture interdit toute manifestation aux abords du bar identitaire, samediLa préfecture interdit toute manifestation aux abords du bar identitaire, samedi
La préfecture interdit toute manifestation aux abords du bar identitaire, samedi
 
sombreros vueltiaos
sombreros vueltiaos sombreros vueltiaos
sombreros vueltiaos
 
btc-e chat history
btc-e chat historybtc-e chat history
btc-e chat history
 
ARC/NHMRC Grant Compliance @ UWS
ARC/NHMRC Grant Compliance @ UWSARC/NHMRC Grant Compliance @ UWS
ARC/NHMRC Grant Compliance @ UWS
 
Fatih projesi
Fatih projesiFatih projesi
Fatih projesi
 
5M Your Inspiring Training Partner
5M Your Inspiring Training Partner5M Your Inspiring Training Partner
5M Your Inspiring Training Partner
 
某球侠的奥林匹克——羽毛球现场观球记
某球侠的奥林匹克——羽毛球现场观球记某球侠的奥林匹克——羽毛球现场观球记
某球侠的奥林匹克——羽毛球现场观球记
 

Similar to Consumer Driven Contracts - 4Developers 2015

Micro-service delivery - without the pitfalls
Micro-service delivery - without the pitfallsMicro-service delivery - without the pitfalls
Micro-service delivery - without the pitfalls
Seb Rose
 
Contract testing - Sealights 2022.pdf
Contract testing - Sealights 2022.pdfContract testing - Sealights 2022.pdf
Contract testing - Sealights 2022.pdf
Seb Rose
 
TDD for Microservices
TDD for MicroservicesTDD for Microservices
TDD for Microservices
VMware Tanzu
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Andrew Morgan
 
Consumer driven contracts in java world
Consumer driven contracts in java worldConsumer driven contracts in java world
Consumer driven contracts in java world
Yura Nosenko
 
Deploy With Certainty
Deploy With CertaintyDeploy With Certainty
Deploy With Certainty
Alex Soto
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Andrew Morgan
 
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Seb Rose
 
Software contracts - Global Enterprise Agile 2023.pdf
Software contracts - Global Enterprise Agile 2023.pdfSoftware contracts - Global Enterprise Agile 2023.pdf
Software contracts - Global Enterprise Agile 2023.pdf
Seb Rose
 
Api Simulation Patterns for Better Testing
Api Simulation Patterns for Better TestingApi Simulation Patterns for Better Testing
Api Simulation Patterns for Better Testing
Andrew Morgan
 
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUG
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUGConsumer Driven Contracts and Your Microservice Architecture @ Warsaw JUG
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUG
Marcin Grzejszczak
 
Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)
Beth Skurrie
 
Consumer Driven Contracts for microservices
Consumer Driven Contracts for microservicesConsumer Driven Contracts for microservices
Consumer Driven Contracts for microservices
Reshmi Krishna
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
TechWell
 
Chicago Corrosion Group Brochure (Low Res)
Chicago Corrosion Group Brochure (Low Res)Chicago Corrosion Group Brochure (Low Res)
Chicago Corrosion Group Brochure (Low Res)
Karyn Byers
 
EMS RUSH PCB
EMS RUSH PCBEMS RUSH PCB
EMS RUSH PCB
Nathan Hawks
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
César Hernández
 

Similar to Consumer Driven Contracts - 4Developers 2015 (17)

Micro-service delivery - without the pitfalls
Micro-service delivery - without the pitfallsMicro-service delivery - without the pitfalls
Micro-service delivery - without the pitfalls
 
Contract testing - Sealights 2022.pdf
Contract testing - Sealights 2022.pdfContract testing - Sealights 2022.pdf
Contract testing - Sealights 2022.pdf
 
TDD for Microservices
TDD for MicroservicesTDD for Microservices
TDD for Microservices
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
 
Consumer driven contracts in java world
Consumer driven contracts in java worldConsumer driven contracts in java world
Consumer driven contracts in java world
 
Deploy With Certainty
Deploy With CertaintyDeploy With Certainty
Deploy With Certainty
 
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
Simulating APIs for Effective Testing: (Micro)Service Virtualisation for the ...
 
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...
 
Software contracts - Global Enterprise Agile 2023.pdf
Software contracts - Global Enterprise Agile 2023.pdfSoftware contracts - Global Enterprise Agile 2023.pdf
Software contracts - Global Enterprise Agile 2023.pdf
 
Api Simulation Patterns for Better Testing
Api Simulation Patterns for Better TestingApi Simulation Patterns for Better Testing
Api Simulation Patterns for Better Testing
 
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUG
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUGConsumer Driven Contracts and Your Microservice Architecture @ Warsaw JUG
Consumer Driven Contracts and Your Microservice Architecture @ Warsaw JUG
 
Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)
 
Consumer Driven Contracts for microservices
Consumer Driven Contracts for microservicesConsumer Driven Contracts for microservices
Consumer Driven Contracts for microservices
 
Testing RESTful Web Services
Testing RESTful Web ServicesTesting RESTful Web Services
Testing RESTful Web Services
 
Chicago Corrosion Group Brochure (Low Res)
Chicago Corrosion Group Brochure (Low Res)Chicago Corrosion Group Brochure (Low Res)
Chicago Corrosion Group Brochure (Low Res)
 
EMS RUSH PCB
EMS RUSH PCBEMS RUSH PCB
EMS RUSH PCB
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
 

More from Jakub Kubrynski

Work sample coding tests
Work sample coding testsWork sample coding tests
Work sample coding tests
Jakub Kubrynski
 
6 key tips for conducting an effective skill assessment interview
6 key tips for conducting an effective skill assessment interview6 key tips for conducting an effective skill assessment interview
6 key tips for conducting an effective skill assessment interview
Jakub Kubrynski
 
What you won't read in books about RESTful services
What you won't read in books about RESTful servicesWhat you won't read in books about RESTful services
What you won't read in books about RESTful services
Jakub Kubrynski
 
Warsjawa profiling tools
Warsjawa profiling toolsWarsjawa profiling tools
Warsjawa profiling tools
Jakub Kubrynski
 
Warsjawa profiling
Warsjawa profilingWarsjawa profiling
Warsjawa profiling
Jakub Kubrynski
 
JOOX - Java Object Oriented XML
JOOX - Java Object Oriented XMLJOOX - Java Object Oriented XML
JOOX - Java Object Oriented XMLJakub Kubrynski
 
Arquillian
ArquillianArquillian
Arquillian
Jakub Kubrynski
 
Spring Data
Spring DataSpring Data
Spring Data
Jakub Kubrynski
 
Profiling
ProfilingProfiling
Profiling
Jakub Kubrynski
 

More from Jakub Kubrynski (9)

Work sample coding tests
Work sample coding testsWork sample coding tests
Work sample coding tests
 
6 key tips for conducting an effective skill assessment interview
6 key tips for conducting an effective skill assessment interview6 key tips for conducting an effective skill assessment interview
6 key tips for conducting an effective skill assessment interview
 
What you won't read in books about RESTful services
What you won't read in books about RESTful servicesWhat you won't read in books about RESTful services
What you won't read in books about RESTful services
 
Warsjawa profiling tools
Warsjawa profiling toolsWarsjawa profiling tools
Warsjawa profiling tools
 
Warsjawa profiling
Warsjawa profilingWarsjawa profiling
Warsjawa profiling
 
JOOX - Java Object Oriented XML
JOOX - Java Object Oriented XMLJOOX - Java Object Oriented XML
JOOX - Java Object Oriented XML
 
Arquillian
ArquillianArquillian
Arquillian
 
Spring Data
Spring DataSpring Data
Spring Data
 
Profiling
ProfilingProfiling
Profiling
 

Recently uploaded

制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
ukwwuq
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
wolfsoftcompanyco
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
xjq03c34
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
davidjhones387
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
uehowe
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
AanSulistiyo
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 

Recently uploaded (20)

制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 

Consumer Driven Contracts - 4Developers 2015