WireMock is a simulator for HTTP-based APIs or MockServer. REST APIs are everywhere today as it’s the modern and easiest way to build a functionality and expose it to the real world. When it comes to writing Unit Test Cases that involve REST-based interactions there is always a challenge in testing error responses , network faults, latency and timeouts. WireMock is going to solve this problem of the application code that depends on the external service by mocking the actual service.In MicroServices Architecture, It is pretty common for services to depend on one other and it’s always a challenge to write test cases for the code that depends on other external services. WireMock provides the necessary tools to simulate an external service so the code that depends on the external service can be tested which helps to build the robust REST Client.This course is going to cover the techniques that are listed below using WireMock:Service VirtualizationSimulating the External ServiceSimulating LatencySimulating Error response Simulating Network errorsLearn to integrate the most powerful HTTP Mock library – WireMock into your application to build a Resilient and Robust REST API clients.Why you should use WireMock ?If your application depends on an API that does not exist but still you would like to build the REST Client then WireMock can help support that kind of development.If you would to cover all the edge cases scenarios such as NetWork Errors, Faults, Latency and RunTime Exception in your REST Client then start using WireMockIf you would like to write Unit Test cases that covers all the possible scenarios that can happen in a REST based interaction then start using WireMock.In a MicroServices Architecture it is pretty common for your services to depend on other. WireMock is a powerful simulation tool to simulate the service that your application depends on it. In a nutshell, WireMock is a Service Virtualization tool.What’s Covered in this Course?Introduction to WireMock Learn to build REST Client using the Spring WebClient.Learn to virtualize an External ServiceLearn to create Stubs using WireMockLearn to Simulate Network Errors, Latency, Network Timeouts and more.Learn to run WireMock using JUnit4 and JUnit5 platformLearn to integrate and run WireMock in Spring Boot applicationPrerequisites for the Course:Experience working with Java applicationsJava 8 or HigherKnowledge of building RESTFUL API ClientsKnowledge of RESTFUL APIExperience working with Gradle/MavenExperience working with Intellij, Eclipse etc.,Section : Introduction to WireMockIn this section, I will cover the Introduction to WireMock from the theoretical perspective.Why WireMock ?What is WireMock ?WireMock vs Mocking Libraries – A quick comparison between WireMock and Mockito.Section : Setting up the WorkSpace for the courseIn this section, we will set up the workspace for this course.Section : Build REST Clients using Spring WebClient – Hands OnIn this section, we will code and learn how to build a REST client using WebClient.Set up the base project movies-app for this courseBuild the Rest Clients that will be used throughout the course using Spring WebClientBuild Rest Clients that covers the HTTP Methods such as GET, POST, PUT and DELETESection : Setting Up WireMockIn this section we will configure the WireMock in to our movies-app project.Section : Build Stubs Using WireMock – Hands OnIn this section, we will code and learn about how to create Stubs using wiremock and have test case interact with wiremock instead of the actual service.Learn about how to create stubs using WireMockLearn to create stubs for different HTTP Methods such as GET, POST, PUT and DELETELearn to Simulate HTTP Responses with 400-Bad RequestLearn about how to perform ResponseTemplating in WireMockSection: Verifying the Stubs – Hands OnIn this section ,I will cover about how to make sure the stubs are invoked as expected by using the Verification DSL.Explore the Verify DSL in WireMockSection : Simulating Server/Fault Responses – Hands OnIn this section , I will cover how to simulate the fault HTTP responses such as 5xx Errors, Fault Responses using WireMock.Learn about the difference between ServerError and Fault responsesLearn to simulate a Server Error using WireMockLearn to simulate a Network Error using WireMockSection : Simulating Latency – Hands OnIn this section, I will cover how to configure Timeout and simulate latency so that the client times out if the response is not received within the configured time.Learn to configure the timeout in the REST ClientLearn to Simulate Latency and test your REST Client times out as expectedSection : Selective Proxying – Hands OnIn this section, we will learn about “What is Selective proxying?” and “how to implement Selective proxying” using Wiremock.Learn about What is Selective Proxying? and When to use Selective Proxying?Learn to simulate Selective Proxying using WireMockSection : Running WireMock on JUnit4In this section, we will code and learn how to run a wiremock on a JUnit4 based environment.Section : Running WireMock on Spring Boot – Hands OnIn this section, I will cover how to run and configure WireMock in a Spring Boot project.Section: Running WireMock with Spring Boot and JUnit5In this section, we will code and learn about how to run the Spring Boot Project in a JUnit5 environment.By completing this course, you will have a pretty good idea about the following:How to Integrate WireMock in to your project How to Build resilient RESTFUL API ClientsThanks for taking your time to view my course and hope to see you in my course.