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.
Using go get
go get -u github.com/BraspagDevelopers/mock-server-client
Using go.mod
file
require github.com/BraspagDevelopers/mock-server-client
Import the package
import (
"github.com/BraspagDevelopers/mock-server-client"
)
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())
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.
You can also verify and clear matching requests at once by using the method MockClient.VerifyAndClear()
.