proxytest

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

README

test framework for proxy-wasm-go-sdk

With proxytest build tag, you can test your extension with the official command:

go test -tags=proxytest ./... 

This framework simulates the expected behavior of Envoyproxy, and you can test your extensions without running Envoy. For detail, see examples/*/main_test.go.

Note that we have not covered ll the functionality, and the API is very likely to change in the future.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HttpFilterHost

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

func NewHttpFilterHost

func NewHttpFilterHost(f func(contextID uint32) proxywasm.HttpContext) (*HttpFilterHost, func())

func (*HttpFilterHost) GetAction

func (h *HttpFilterHost) GetAction(contextID uint32) types.Action

func (*HttpFilterHost) GetContext added in v0.0.2

func (h *HttpFilterHost) GetContext(contextID uint32) proxywasm.HttpContext

func (*HttpFilterHost) GetCurrentAction

func (h *HttpFilterHost) GetCurrentAction(contextID uint32) types.Action

func (HttpFilterHost) GetLogs

func (b HttpFilterHost) GetLogs(level types.LogLevel) []string

func (HttpFilterHost) GetQueueSize

func (b HttpFilterHost) GetQueueSize(queueID uint32) int

func (*HttpFilterHost) GetSentLocalResponse

func (h *HttpFilterHost) GetSentLocalResponse(contextID uint32) *LocalHttpResponse

func (HttpFilterHost) GetTickPeriod

func (b HttpFilterHost) GetTickPeriod() uint32

func (*HttpFilterHost) InitContext

func (h *HttpFilterHost) InitContext() uint32

func (HttpFilterHost) IsDispatchCalled

func (b HttpFilterHost) IsDispatchCalled(contextID uint32) bool

func (*HttpFilterHost) ProxyAddHeaderMapValue

func (h *HttpFilterHost) ProxyAddHeaderMapValue(mapType types.MapType, keyData *byte,
	keySize int, valueData *byte, valueSize int) types.Status

func (*HttpFilterHost) ProxyContinueStream

func (h *HttpFilterHost) ProxyContinueStream(types.StreamType) types.Status

func (HttpFilterHost) ProxyDefineMetric

func (b HttpFilterHost) ProxyDefineMetric(metricType types.MetricType,
	metricNameData *byte, metricNameSize int, returnMetricIDPtr *uint32) types.Status

func (HttpFilterHost) ProxyDequeueSharedQueue

func (b HttpFilterHost) ProxyDequeueSharedQueue(queueID uint32, returnValueData **byte, returnValueSize *int) types.Status

func (HttpFilterHost) ProxyEnqueueSharedQueue

func (b HttpFilterHost) ProxyEnqueueSharedQueue(queueID uint32, valueData *byte, valueSize int) types.Status

func (*HttpFilterHost) ProxyGetBufferBytes

func (h *HttpFilterHost) ProxyGetBufferBytes(bt types.BufferType, start int, maxSize int,
	returnBufferData **byte, returnBufferSize *int) types.Status

func (*HttpFilterHost) ProxyGetHeaderMapPairs

func (h *HttpFilterHost) ProxyGetHeaderMapPairs(mapType types.MapType, returnValueData **byte,
	returnValueSize *int) types.Status

func (*HttpFilterHost) ProxyGetHeaderMapValue

func (h *HttpFilterHost) ProxyGetHeaderMapValue(mapType types.MapType, keyData *byte,
	keySize int, returnValueData **byte, returnValueSize *int) types.Status

func (HttpFilterHost) ProxyGetMetric

func (b HttpFilterHost) ProxyGetMetric(metricID uint32, returnMetricValue *uint64) types.Status

func (HttpFilterHost) ProxyGetSharedData

func (b HttpFilterHost) ProxyGetSharedData(keyData *byte, keySize int,
	returnValueData **byte, returnValueSize *int, returnCas *uint32) types.Status

func (HttpFilterHost) ProxyHttpCall

func (b HttpFilterHost) ProxyHttpCall(upstreamData *byte, upstreamSize int, headerData *byte, headerSize int, bodyData *byte,
	bodySize int, trailersData *byte, trailersSize int, timeout uint32, _ *uint32) types.Status

func (HttpFilterHost) ProxyIncrementMetric

func (b HttpFilterHost) ProxyIncrementMetric(metricID uint32, offset int64) types.Status

func (HttpFilterHost) ProxyLog

func (b HttpFilterHost) ProxyLog(logLevel types.LogLevel, messageData *byte, messageSize int) types.Status

func (HttpFilterHost) ProxyRecordMetric

func (b HttpFilterHost) ProxyRecordMetric(metricID uint32, value uint64) types.Status

func (HttpFilterHost) ProxyRegisterSharedQueue

func (b HttpFilterHost) ProxyRegisterSharedQueue(nameData *byte, nameSize int, returnID *uint32) types.Status

func (*HttpFilterHost) ProxyRemoveHeaderMapValue

func (h *HttpFilterHost) ProxyRemoveHeaderMapValue(mapType types.MapType, keyData *byte, keySize int) types.Status

func (*HttpFilterHost) ProxyReplaceHeaderMapValue

func (h *HttpFilterHost) ProxyReplaceHeaderMapValue(mapType types.MapType, keyData *byte,
	keySize int, valueData *byte, valueSize int) types.Status

func (*HttpFilterHost) ProxySendLocalResponse

func (h *HttpFilterHost) ProxySendLocalResponse(statusCode uint32,
	statusCodeDetailData *byte, statusCodeDetailsSize int, bodyData *byte, bodySize int,
	headersData *byte, headersSize int, grpcStatus int32) types.Status

func (*HttpFilterHost) ProxySetHeaderMapPairs

func (h *HttpFilterHost) ProxySetHeaderMapPairs(mapType types.MapType, mapData *byte, mapSize int) types.Status

func (HttpFilterHost) ProxySetSharedData

func (b HttpFilterHost) ProxySetSharedData(keyData *byte, keySize int,
	valueData *byte, valueSize int, cas uint32) types.Status

func (HttpFilterHost) ProxySetTickPeriodMilliseconds

func (b HttpFilterHost) ProxySetTickPeriodMilliseconds(period uint32) types.Status

func (HttpFilterHost) PutCalloutResponse

func (b HttpFilterHost) PutCalloutResponse(contextID uint32, headers, trailers [][2]string, body []byte)

func (*HttpFilterHost) PutRequestBody

func (h *HttpFilterHost) PutRequestBody(contextID uint32, body []byte)

func (*HttpFilterHost) PutRequestHeaders

func (h *HttpFilterHost) PutRequestHeaders(contextID uint32, headers [][2]string)

func (*HttpFilterHost) PutRequestTrailers

func (h *HttpFilterHost) PutRequestTrailers(contextID uint32, headers [][2]string)

func (*HttpFilterHost) PutResponseBody

func (h *HttpFilterHost) PutResponseBody(contextID uint32, body []byte)

func (*HttpFilterHost) PutResponseHeaders

func (h *HttpFilterHost) PutResponseHeaders(contextID uint32, headers [][2]string)

func (*HttpFilterHost) PutResponseTrailers

func (h *HttpFilterHost) PutResponseTrailers(contextID uint32, headers [][2]string)

type LocalHttpResponse

type LocalHttpResponse struct {
	StatusCode       uint32
	StatusCodeDetail string
	Data             []byte
	Headers          [][2]string
	GRPCStatus       int32
}

type NetworkFilterHost

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

func NewNetworkFilterHost

func NewNetworkFilterHost(f func(contextID uint32) proxywasm.StreamContext) (*NetworkFilterHost, func())

func (*NetworkFilterHost) CloseDownstreamConnection

func (n *NetworkFilterHost) CloseDownstreamConnection(contextID uint32)

func (*NetworkFilterHost) CloseUpstreamConnection

func (n *NetworkFilterHost) CloseUpstreamConnection(contextID uint32)

func (*NetworkFilterHost) CompleteConnection added in v0.0.2

func (n *NetworkFilterHost) CompleteConnection(contextID uint32)

func (*NetworkFilterHost) GetContext added in v0.0.2

func (n *NetworkFilterHost) GetContext(contextID uint32) proxywasm.StreamContext

func (NetworkFilterHost) GetLogs

func (b NetworkFilterHost) GetLogs(level types.LogLevel) []string

func (NetworkFilterHost) GetQueueSize

func (b NetworkFilterHost) GetQueueSize(queueID uint32) int

func (NetworkFilterHost) GetTickPeriod

func (b NetworkFilterHost) GetTickPeriod() uint32

func (*NetworkFilterHost) InitConnection

func (n *NetworkFilterHost) InitConnection() (contextID uint32)

func (NetworkFilterHost) IsDispatchCalled

func (b NetworkFilterHost) IsDispatchCalled(contextID uint32) bool

func (NetworkFilterHost) ProxyDefineMetric

func (b NetworkFilterHost) ProxyDefineMetric(metricType types.MetricType,
	metricNameData *byte, metricNameSize int, returnMetricIDPtr *uint32) types.Status

func (NetworkFilterHost) ProxyDequeueSharedQueue

func (b NetworkFilterHost) ProxyDequeueSharedQueue(queueID uint32, returnValueData **byte, returnValueSize *int) types.Status

func (NetworkFilterHost) ProxyEnqueueSharedQueue

func (b NetworkFilterHost) ProxyEnqueueSharedQueue(queueID uint32, valueData *byte, valueSize int) types.Status

func (*NetworkFilterHost) ProxyGetBufferBytes

func (n *NetworkFilterHost) ProxyGetBufferBytes(bt types.BufferType, start int, maxSize int,
	returnBufferData **byte, returnBufferSize *int) types.Status

func (*NetworkFilterHost) ProxyGetHeaderMapPairs

func (n *NetworkFilterHost) ProxyGetHeaderMapPairs(mapType types.MapType, returnValueData **byte,
	returnValueSize *int) types.Status

func (*NetworkFilterHost) ProxyGetHeaderMapValue

func (n *NetworkFilterHost) ProxyGetHeaderMapValue(mapType types.MapType, keyData *byte,
	keySize int, returnValueData **byte, returnValueSize *int) types.Status

func (NetworkFilterHost) ProxyGetMetric

func (b NetworkFilterHost) ProxyGetMetric(metricID uint32, returnMetricValue *uint64) types.Status

func (NetworkFilterHost) ProxyGetSharedData

func (b NetworkFilterHost) ProxyGetSharedData(keyData *byte, keySize int,
	returnValueData **byte, returnValueSize *int, returnCas *uint32) types.Status

func (NetworkFilterHost) ProxyHttpCall

func (b NetworkFilterHost) ProxyHttpCall(upstreamData *byte, upstreamSize int, headerData *byte, headerSize int, bodyData *byte,
	bodySize int, trailersData *byte, trailersSize int, timeout uint32, _ *uint32) types.Status

func (NetworkFilterHost) ProxyIncrementMetric

func (b NetworkFilterHost) ProxyIncrementMetric(metricID uint32, offset int64) types.Status

func (NetworkFilterHost) ProxyLog

func (b NetworkFilterHost) ProxyLog(logLevel types.LogLevel, messageData *byte, messageSize int) types.Status

func (NetworkFilterHost) ProxyRecordMetric

func (b NetworkFilterHost) ProxyRecordMetric(metricID uint32, value uint64) types.Status

func (NetworkFilterHost) ProxyRegisterSharedQueue

func (b NetworkFilterHost) ProxyRegisterSharedQueue(nameData *byte, nameSize int, returnID *uint32) types.Status

func (NetworkFilterHost) ProxySetSharedData

func (b NetworkFilterHost) ProxySetSharedData(keyData *byte, keySize int,
	valueData *byte, valueSize int, cas uint32) types.Status

func (NetworkFilterHost) ProxySetTickPeriodMilliseconds

func (b NetworkFilterHost) ProxySetTickPeriodMilliseconds(period uint32) types.Status

func (NetworkFilterHost) PutCalloutResponse

func (b NetworkFilterHost) PutCalloutResponse(contextID uint32, headers, trailers [][2]string, body []byte)

func (*NetworkFilterHost) PutDownstreamData

func (n *NetworkFilterHost) PutDownstreamData(contextID uint32, data []byte)

func (*NetworkFilterHost) PutUpstreamData

func (n *NetworkFilterHost) PutUpstreamData(contextID uint32, data []byte)

type RootFilterHost

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

func NewRootFilterHost

func NewRootFilterHost(ctx proxywasm.RootContext, pluginConfiguration, vmConfiguration []byte,
) (*RootFilterHost, func())

func (*RootFilterHost) ConfigurePlugin

func (n *RootFilterHost) ConfigurePlugin()

func (RootFilterHost) GetLogs

func (b RootFilterHost) GetLogs(level types.LogLevel) []string

func (RootFilterHost) GetQueueSize

func (b RootFilterHost) GetQueueSize(queueID uint32) int

func (RootFilterHost) GetTickPeriod

func (b RootFilterHost) GetTickPeriod() uint32

func (RootFilterHost) IsDispatchCalled

func (b RootFilterHost) IsDispatchCalled(contextID uint32) bool

func (RootFilterHost) ProxyDefineMetric

func (b RootFilterHost) ProxyDefineMetric(metricType types.MetricType,
	metricNameData *byte, metricNameSize int, returnMetricIDPtr *uint32) types.Status

func (RootFilterHost) ProxyDequeueSharedQueue

func (b RootFilterHost) ProxyDequeueSharedQueue(queueID uint32, returnValueData **byte, returnValueSize *int) types.Status

func (RootFilterHost) ProxyEnqueueSharedQueue

func (b RootFilterHost) ProxyEnqueueSharedQueue(queueID uint32, valueData *byte, valueSize int) types.Status

func (*RootFilterHost) ProxyGetBufferBytes

func (n *RootFilterHost) ProxyGetBufferBytes(bt types.BufferType, start int, maxSize int,
	returnBufferData **byte, returnBufferSize *int) types.Status

func (RootFilterHost) ProxyGetMetric

func (b RootFilterHost) ProxyGetMetric(metricID uint32, returnMetricValue *uint64) types.Status

func (RootFilterHost) ProxyGetSharedData

func (b RootFilterHost) ProxyGetSharedData(keyData *byte, keySize int,
	returnValueData **byte, returnValueSize *int, returnCas *uint32) types.Status

func (RootFilterHost) ProxyHttpCall

func (b RootFilterHost) ProxyHttpCall(upstreamData *byte, upstreamSize int, headerData *byte, headerSize int, bodyData *byte,
	bodySize int, trailersData *byte, trailersSize int, timeout uint32, _ *uint32) types.Status

func (RootFilterHost) ProxyIncrementMetric

func (b RootFilterHost) ProxyIncrementMetric(metricID uint32, offset int64) types.Status

func (RootFilterHost) ProxyLog

func (b RootFilterHost) ProxyLog(logLevel types.LogLevel, messageData *byte, messageSize int) types.Status

func (RootFilterHost) ProxyRecordMetric

func (b RootFilterHost) ProxyRecordMetric(metricID uint32, value uint64) types.Status

func (RootFilterHost) ProxyRegisterSharedQueue

func (b RootFilterHost) ProxyRegisterSharedQueue(nameData *byte, nameSize int, returnID *uint32) types.Status

func (RootFilterHost) ProxySetSharedData

func (b RootFilterHost) ProxySetSharedData(keyData *byte, keySize int,
	valueData *byte, valueSize int, cas uint32) types.Status

func (RootFilterHost) ProxySetTickPeriodMilliseconds

func (b RootFilterHost) ProxySetTickPeriodMilliseconds(period uint32) types.Status

func (RootFilterHost) PutCalloutResponse

func (b RootFilterHost) PutCalloutResponse(contextID uint32, headers, trailers [][2]string, body []byte)

func (*RootFilterHost) StartVM

func (n *RootFilterHost) StartVM()

Jump to

Keyboard shortcuts

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