fasthttpmock

package module
v0.0.0-...-7d1b71b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 5, 2019 License: MIT Imports: 3 Imported by: 0

README

fasthttp mock Build Status

Dep
dep ensure -add github.com/gopereza/fasthttpmock
Example
package main

import (
	"github.com/gopereza/fasthttpmock"
	"github.com/valyala/fasthttp"
)

func main() {
	pairs := fasthttpmock.NewRequestResponsePairs()

	{
		request := &fasthttp.Request{}
		request.Header.SetMethod("GET")
		request.SetRequestURI("http://example.com/test-1")

		response := &fasthttp.Response{}
		response.SetStatusCode(fasthttp.StatusOK)
		response.SetBodyString(`{"code":"1"}`)

		pairs.Add(request, response)
	}

	client := fasthttpmock.NewClient(pairs, fasthttpmock.Equal, fasthttpmock.Copy)

	request := fasthttp.AcquireRequest()
	request.Header.SetMethod("GET")
	request.SetRequestURI("http://example.com/test-1")
	response := fasthttp.AcquireResponse()

	_ = client.Do(request, response)
}
Usage
package main

import (
	"github.com/gopereza/fasthttpmock"
	"github.com/valyala/fasthttp"
)

func main() {
	fastClient := &fasthttp.Client{}

	client := fasthttpmock.NewWrapClient(fastClient)

	request := fasthttp.AcquireRequest()
	response := &fasthttp.Response{}
	_ = client.Do(request, response)

	mockClient := fasthttpmock.NewClient(fasthttpmock.NewRequestResponsePairs(), fasthttpmock.Equal, fasthttpmock.Copy)

	// switch to mock usage
	client.SetMockClient(mockClient)

	// switch to real usage
	client.SetMockClient(nil)
}

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNoMatch = errors.New("no match")
)

Functions

func Copy

func Copy(from, to *fasthttp.Response)

func Equal

func Equal(a *fasthttp.Request, b *fasthttp.Request) bool

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(pairs *RequestResponsePairs, equal func(*fasthttp.Request, *fasthttp.Request) bool, copy func(*fasthttp.Response, *fasthttp.Response)) *Client

func (*Client) Do

func (c *Client) Do(request *fasthttp.Request, response *fasthttp.Response) error

type RequestResponsePairs

type RequestResponsePairs struct {
	// contains filtered or unexported fields
}

func NewRequestResponsePairs

func NewRequestResponsePairs() *RequestResponsePairs

func (*RequestResponsePairs) Add

func (p *RequestResponsePairs) Add(request *fasthttp.Request, response *fasthttp.Response)

type WrapClient

type WrapClient struct {
	// contains filtered or unexported fields
}

func NewWrapClient

func NewWrapClient(realClient *fasthttp.Client) *WrapClient

func (*WrapClient) Do

func (c *WrapClient) Do(request *fasthttp.Request, response *fasthttp.Response) error

func (*WrapClient) SetMockClient

func (c *WrapClient) SetMockClient(mockClient *Client)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL