Skip to content

Latest commit

 

History

History
72 lines (57 loc) · 2.3 KB

README.md

File metadata and controls

72 lines (57 loc) · 2.3 KB

License Tag Go Report Card

Mock Server Client - a Go package

Client for the mock-server.com product.

The focus of this library is to use within integration tests in order to verify if a specific request was made in a mocked dependency (the mock-server).

It is still work in progress.

Installation

Using go get

go get -u github.com/BraspagDevelopers/mock-server-client

Using go.mod file

require github.com/BraspagDevelopers/mock-server-client

Usage

Import the package

import (
    "github.com/BraspagDevelopers/mock-server-client"
)

Verifying a request

The folowing verifies if the mock-server received requests matching the following filters:

  • The method was POST
  • The endpoint was /api/categories
  • Having a header Environment: Development
  • The body was a JSON and the body field name had the value "Tools"
  • The request was made once and only once
ms := mockserver.NewClient("localhost", 8080)
err := ms.Verify(
    mockserver.RequestMatcher{
        Method: http.MethodPost,
        Path:   "/api/categories"}.
        WithHeader("Environment", "Development").
        WithJSONFields(map[string]interface{}{
            "name": "Tools",
        }),
    mockserver.Once())

Clearing requests

You can clear the mock-server requests in the log that matches an specific RequestMatcher using the method MockClient.Verify.

err := ms.Verify(mockserver.RequestMatcher{
    Method: http.MethodPost,
    Path:   "/api/categories"}.
    WithHeader("Environment", "Development").
    WithJSONFields(map[string]interface{}{
        "name": "Tools",
    }))

Notice that the cardinality is not specified in this request for this method. All matching requests will be erased from the log.

Verify and clear at the same time

You can also verify and clear matching requests at once by using the method MockClient.VerifyAndClear().