Overview
Syllabus
Intro
About me
Just another day at work
How the code is currently organized
How the code is currently deployed
We're agile & we care about quality
Application Architecture
How the code is currently tested
Unit tests FTW!
Integration tests FTW!
End to end tests FTW!
Testing Strategy - Hard Coded Object Stubs
Problems with hard coding stubs
Generating Stubs From Proxy
Testing Strategy - Generated Remote Stub
Hard Problems
Service Evolution Patterns
Definitions
Provider Contract
Consumer Contract
Benefits of Consumer Driven Contracts
How the code should be tested
Consumers create stubs (current approach)
Example of a contract
Generating Stubs & Tests (PRODUCER)
Contract Tests (PRODUCER)
Generated Stubs (PRODUCER)
Monolith as source of truth (better approach)
Reuse Stubs (CONSUMER)
Nice API creation
Store the stubs from contracts locally
Play with the API offline
Producer sets up a project
Producer makes the generated tests pass
CI server builds the producer code
Consumer uses uploaded stubs
Messaging
Doesn't work
Polyglot
What have we managed to build?
Taught by
Devoxx