Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Personal Transformation Mindfulness Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Freelancing Online Business Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Software Engineering Test Frameworks

WireMock for Java Developers

Learn to build robust RESTFUL API Clients, Service Virtualization in Java and SpringBoot applications using WireMock.
Bestseller
Rating: 4.5 out of 54.5 (93 ratings)
579 students
Created by Pragmatic Code School
Last updated 4/2021
English
30-Day Money-Back Guarantee

What you'll learn

  • This course will help the students to learn about “how to write unit tests” which involves RESTFUL API integrations.
  • Build REST API Clients using Spring Webclient
  • Write Unit Tests that covers all the possible scenarios in a REST based interaction
  • Mock an External Service using WireMock
  • Build a robust REST Client by simulating Network Errors
  • Build a robust REST Client by simulating Network Latency
  • Unit Test the timeout of the REST Client

Course content

13 sections • 53 lectures • 4h 28m total length

  • Preview02:20
  • Preview00:45

  • Preview07:32
  • Preview03:32
  • Preview02:55

  • Overview of the application
    02:57
  • Source Code
    00:03
  • Set up the Movies RESTFUL Service
    03:08
  • Exploring the Movies RESTFUL Service [Optional]
    07:26

  • Setting up the Movies App
    04:42
  • RestTemplate vs Spring WebClient
    02:31
  • Setting up the Movies Domain
    03:49
  • Build Movies REST Client using Spring WebClient
    05:55
  • Build Movies REST Client test using JUnit5
    05:30
  • WebClient - Retrieve Movie by Movie-ID
    12:00
  • WebClient - Retrieve Movie by Movie-Name
    09:06
  • WebClient - Retrieve Movie By Year
    06:57
  • WebClient - Add a new Movie - HTTP POST
    10:36
  • WebClient - Update a Movie - HTTP PUT
    09:08
  • WebClient - Delete a Movie - HTTP DELETE
    08:12

  • Configuring WireMock
    03:59

  • Overview
    01:06
  • Create the very first WireMock Stub
    08:35
  • How WireMock works Behind the scenes and Matches the Stub?
    03:41
  • URL Matching Stub - urlPathEqualTo()
    05:15
  • URL Matching Stub - urlPathMatching()
    05:10
  • Generate Dynamic Http Response using ResponseTemplateTransformer
    05:51
  • Stub with 400 HttpStatus as Response
    04:16
  • Stub matches a Query Param using urlEqualTo() and urlPathEqualTo()
    06:36
  • Generate Dynamic Response Stub by reading Query Param from the request
    02:57
  • Build a stub for retrieveMovieByYear endpoint - "/movieservice/v1/movieYear"
    1 question
  • Build a stub for the retrieve movie by year Endpoint- 404 Response
    1 question
  • Stub with RequestBody - HTTP POST
    08:14
  • Dynamic Response Stub - HTTP POST
    05:56
  • Stub with 400 Bad Request Response - HTTP POST
    03:09
  • Stub for HTTP PUT
    06:04
  • Stub for HTTP DELETE
    04:47

  • Why Verify the Stubs?
    05:59
  • Explore the verify DSL
    05:23

  • Introduction to Server/Fault Responses
    01:40
  • Simulating 5xx Response
    05:58
  • Simulating Fault Responses - Network Errors
    04:09

  • Configuring read/write Timeout in Spring WebClient
    05:13
  • Simulating Latency
    04:13

  • What is Selective Proxying ?
    01:24
  • Simulating Selective Proxying
    05:01

Requirements

  • Any one of the IDE such as IntelliJ, Eclipse etc.,
  • Java Experience is a must
  • Experience building REST clients
  • Experience writing with JUnit Tests

Description

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 Virtualization

  • Simulating the External Service

  • Simulating Latency

  • Simulating Error response

  • Simulating Network errors

Learn 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 WireMock

  • If 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 Service

  • Learn to create Stubs using WireMock

  • Learn to Simulate Network Errors, Latency, Network Timeouts and more.

  • Learn to run WireMock using JUnit4 and JUnit5 platform

  • Learn to integrate and run WireMock in Spring Boot application

Prerequisites for the Course:

  • Experience working with Java applications

  • Java 8 or Higher

  • Knowledge of building RESTFUL API Clients

  • Knowledge of RESTFUL API

  • Experience working with Gradle/Maven

  • Experience working with Intellij, Eclipse etc.,

Section : Introduction to WireMock

In 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 course

  • In this section, we will set up the workspace for this course.

Section : Build REST Clients using Spring WebClient - Hands On

In this section, we will code and learn how to build a REST client using WebClient.

  • Set up the base project movies-app for this course

  • Build the Rest Clients that will be used throughout the course using Spring WebClient

  • Build Rest Clients that covers the HTTP Methods such as GET, POST, PUT and DELETE

Section : Setting Up WireMock

In this section we will configure the WireMock in to our movies-app project.

Section : Build Stubs Using WireMock - Hands On

In 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 WireMock

  • Learn to create stubs for different HTTP Methods such as GET, POST, PUT and DELETE

  • Learn to Simulate HTTP Responses with 400-Bad Request

  • Learn about how to perform ResponseTemplating in WireMock

Section: Verifying the Stubs - Hands On

In 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 WireMock

Section : Simulating Server/Fault Responses - Hands On

In 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 responses

  • Learn to simulate a Server Error using WireMock

  • Learn to simulate a Network Error using WireMock

Section : Simulating Latency - Hands On

In 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 Client

  • Learn to Simulate Latency and test your REST Client times out as expected

Section : Selective Proxying - Hands On

In 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 WireMock

Section : Running WireMock on JUnit4

In this section, we will code and learn how to run a wiremock on a JUnit4 based environment.

Section : Running WireMock on Spring Boot - Hands On

In this section, I will cover how to run and configure WireMock in a Spring Boot project.

Section: Running WireMock with Spring Boot and JUnit5

In 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 Clients

Thanks for taking your time to view my course and hope to see you in my course.

Who this course is for:

  • Developers who would like to learn building RESTFUL API Clients using Spring WebClient
  • Java Developers who would like to learn about building resilient RESTFUL API Clients
  • Developers who would like to write Unit Tests that depends on other services
  • Developers who would like to write Unit Tests that covers Latency, Timeouts and Network faults

Instructor

Pragmatic Code School
Technology Enthusiast, Online Instructor
Pragmatic Code School
  • 4.5 Instructor Rating
  • 6,587 Reviews
  • 35,588 Students
  • 7 Courses

Pragmatic code school's primary goal is to provide technical training through a practical approach.

The courses are completely hands-on oriented and cover different techniques and patterns that are used in enterprise development standards

Each course explains the concepts by building applications which will give an experience of building a real enterprise application.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.