twirktest

package
v5.9.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2019 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

package twirktest provides servers for use in tests and for testing the cleanliness of the generated output of protoc-gen-twirk.

Package twirktest is a generated twirk stub package. This code was generated with github.com/darioielardi/twirk/protoc-gen-twirk v5.8.0.

It is generated from these files:

service.proto

Index

Constants

View Source
const HaberdasherPathPrefix = "/twirk/twirk.internal.twirktest.Haberdasher/"

HaberdasherPathPrefix is used for all URL paths on a twirk Haberdasher server. Requests are always: POST HaberdasherPathPrefix/method It can be used in an HTTP mux to route twirk requests along with non-twirk requests on other routes.

Variables

This section is empty.

Functions

func NewHaberdasherServer

func NewHaberdasherServer(svc Haberdasher, hooks *twirk.ServerHooks) twirkServer

func WriteError

func WriteError(resp http.ResponseWriter, err error)

WriteError writes an HTTP response with a valid twirk error format (code, msg, meta). Useful outside of the twirk server (e.g. http middleware), but does not trigger hooks. If err is not a twirk.Error, it will get wrapped with twirk.InternalErrorWith(err)

Types

type HTTPClient

type HTTPClient interface {
	Do(req *http.Request) (*http.Response, error)
}

HTTPClient is the interface used by generated clients to send HTTP requests. It is fulfilled by *(net/http).Client, which is sufficient for most users. Users can provide their own implementation for special retry policies.

HTTPClient implementations should not follow redirects. Redirects are automatically disabled if *(net/http).Client is passed to client constructors. See the withoutRedirects function in this file for more details.

type Haberdasher

type Haberdasher interface {
	// MakeHat produces a hat of mysterious, randomly-selected color!
	MakeHat(context.Context, *Size) (*Hat, error)
}

A Haberdasher makes hats for clients.

func ErroringHatmaker

func ErroringHatmaker(err error) Haberdasher

Always errors.

func HaberdasherFunc

func HaberdasherFunc(f func(ctx context.Context, s *Size) (*Hat, error)) Haberdasher

HaberdasherFunc is a convenience to convert a function into a Haberdasher service.

func NewHaberdasherJSONClient

func NewHaberdasherJSONClient(addr string, client HTTPClient) Haberdasher

NewHaberdasherJSONClient creates a JSON client that implements the Haberdasher interface. It communicates using JSON and can be configured with a custom HTTPClient.

func NewHaberdasherProtobufClient

func NewHaberdasherProtobufClient(addr string, client HTTPClient) Haberdasher

NewHaberdasherProtobufClient creates a Protobuf client that implements the Haberdasher interface. It communicates using Protobuf and can be configured with a custom HTTPClient.

func NilHatmaker

func NilHatmaker() Haberdasher

Returns nil, nil

func NoopHatmaker

func NoopHatmaker() Haberdasher

Always makes a blank hat.

func PanickyHatmaker

func PanickyHatmaker(p interface{}) Haberdasher

Panics.

func PickyHatmaker

func PickyHatmaker(want int32) Haberdasher

Makes a hat, as long as its the size they like

func ServerAndClient

func ServerAndClient(h Haberdasher, hooks *twirk.ServerHooks) (*httptest.Server, Haberdasher)

func SlowHatmaker

func SlowHatmaker(dur time.Duration) Haberdasher

Makes a hat, but sure takes their time

type Hat

type Hat struct {
	Size                 int32    `protobuf:"varint,1,opt,name=size,proto3" json:"size,omitempty"`
	Color                string   `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"`
	Name                 string   `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Hat) Descriptor

func (*Hat) Descriptor() ([]byte, []int)

func (*Hat) GetColor

func (m *Hat) GetColor() string

func (*Hat) GetName

func (m *Hat) GetName() string

func (*Hat) GetSize

func (m *Hat) GetSize() int32

func (*Hat) ProtoMessage

func (*Hat) ProtoMessage()

func (*Hat) Reset

func (m *Hat) Reset()

func (*Hat) String

func (m *Hat) String() string

func (*Hat) XXX_DiscardUnknown

func (m *Hat) XXX_DiscardUnknown()

func (*Hat) XXX_Marshal

func (m *Hat) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Hat) XXX_Merge

func (m *Hat) XXX_Merge(src proto.Message)

func (*Hat) XXX_Size

func (m *Hat) XXX_Size() int

func (*Hat) XXX_Unmarshal

func (m *Hat) XXX_Unmarshal(b []byte) error

type Size

type Size struct {
	Inches               int32    `protobuf:"varint,1,opt,name=inches,proto3" json:"inches,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*Size) Descriptor

func (*Size) Descriptor() ([]byte, []int)

func (*Size) GetInches

func (m *Size) GetInches() int32

func (*Size) ProtoMessage

func (*Size) ProtoMessage()

func (*Size) Reset

func (m *Size) Reset()

func (*Size) String

func (m *Size) String() string

func (*Size) XXX_DiscardUnknown

func (m *Size) XXX_DiscardUnknown()

func (*Size) XXX_Marshal

func (m *Size) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Size) XXX_Merge

func (m *Size) XXX_Merge(src proto.Message)

func (*Size) XXX_Size

func (m *Size) XXX_Size() int

func (*Size) XXX_Unmarshal

func (m *Size) XXX_Unmarshal(b []byte) error

Directories

Path Synopsis
Package empty_service is a generated twirk stub package.
Package empty_service is a generated twirk stub package.
Package gogo_compat is a generated protocol buffer package.
Package gogo_compat is a generated protocol buffer package.
Package google_protobuf_imports is a generated twirk stub package.
Package google_protobuf_imports is a generated twirk stub package.
Package importable is a generated twirk stub package.
Package importable is a generated twirk stub package.
Package importer is a generated twirk stub package.
Package importer is a generated twirk stub package.
x
Package x is a generated twirk stub package.
Package x is a generated twirk stub package.
y
Package multiple is a generated twirk stub package.
Package multiple is a generated twirk stub package.
Package no_package_name is a generated twirk stub package.
Package no_package_name is a generated twirk stub package.
Package no_package_name_importer is a generated twirk stub package.
Package no_package_name_importer is a generated twirk stub package.
Package proto is a generated twirk stub package.
Package proto is a generated twirk stub package.
Package service_method_same_name is a generated twirk stub package.
Package service_method_same_name is a generated twirk stub package.
Package snake_case_names is a generated twirk stub package.
Package snake_case_names is a generated twirk stub package.
Package source_relative is a generated twirk stub package.
Package source_relative is a generated twirk stub package.

Jump to

Keyboard shortcuts

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