List of Figures

 

Chapter 1. Testing microservices

Figure 1.1. A monolithic application handles view, business, and persistence logic for multiple domains.

Figure 1.2. Scaling a monolith means multiple teams have to work in the same codebase.

Figure 1.3. Services use different databases for different domains.

Figure 1.4. During normal traffic, the number of lanes and speed limit define throughput and velocity.

Figure 1.5. Having fewer upstream lanes increases congestion.

Figure 1.6. Centralized QA processes recouple releases together, causing a bottleneck.

Figure 1.7. Independent testing works to avoid release congestion.

Figure 1.8. End-to-end testing introduces several problems of coordination.

Figure 1.9. Testing using service virtualization

Figure 1.10. Service virtualization supports a standard unit testing pattern.

Figure 1.11. Using persistent test data from a data store

Figure 1.12. Capturing real traffic for later replay

Figure 1.13. Configuring virtual services with a simple mountebank imposter

Figure 1.14. Matching a request to a response with mountebank

Figure 1.15. Response generation in mountebank using predicates and responses in stubs

Chapter 2. Taking mountebank for a test drive

Figure 2.1. Your reference architecture for exploring mountebank

Figure 2.2. Breaking down the HTTP request for products

Figure 2.3. The response from the product catalog

Figure 2.4. Adding a query parameter to an HTTP request

Figure 2.5. How mountebank views an HTTP request