Documentation
¶
Index ¶
- Constants
- Variables
- func ErrorsInternalProtobufSayHello(_ context.Context, _ *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
- func ErrorsNotMappedProtobufSayHello(_ context.Context, _ *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
- func ErrorsProtobufSayHello(_ context.Context, _ *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
- func FilePath(path string) string
- func NewAES() *aes.Config
- func NewAccessConfig() *access.Config
- func NewCacheConfig(kind, compressor, encoder, secret string) *cache.Config
- func NewCompressor(err error) compress.Compressor
- func NewDebugServer(config *debug.Config, logger *logger.Logger) *debug.Server
- func NewDecoder(set *flag.FlagSet) config.Decoder
- func NewEd25519() *ed25519.Config
- func NewEncoder(err error) encoding.Encoder
- func NewEvents(mux *http.ServeMux, rt http.RoundTripper, id *id.UUID) (*events.Receiver, client.Client)
- func NewGRPCClientLimiter(lc di.Lifecycle, keys limiter.KeyMap, cfg *limiter.Config) *gl.Client
- func NewGRPCServerLimiter(lc di.Lifecycle, keys limiter.KeyMap, cfg *limiter.Config) *gl.Server
- func NewHMAC() *hmac.Config
- func NewHTTPClientLimiter(lc di.Lifecycle, keys limiter.KeyMap, cfg *limiter.Config) *hl.Client
- func NewHTTPServerLimiter(lc di.Lifecycle, keys limiter.KeyMap, cfg *limiter.Config) *hl.Server
- func NewHook() *hooks.Config
- func NewInsecureConfig() *tls.Config
- func NewInsecureDebugConfig() *debug.Config
- func NewInsecureTransportConfig() *transport.Config
- func NewJSONLoggerConfig() *logger.Config
- func NewLimiterConfig(kind, interval string, tokens uint64) *limiter.Config
- func NewLogger(lc di.Lifecycle, config *logger.Config) *logger.Logger
- func NewMeter(lc di.Lifecycle, c *metrics.Config) *metrics.Meter
- func NewMeterProvider(lc di.Lifecycle, config *metrics.Config) metric.MeterProvider
- func NewOTLPLoggerConfig() *logger.Config
- func NewOTLPMeter(lc di.Lifecycle) *metrics.Meter
- func NewOTLPMeterProvider(lc di.Lifecycle) metric.MeterProvider
- func NewOTLPMetricsConfig() *metrics.Config
- func NewOTLPTracerConfig() *tracer.Config
- func NewPGConfig() *pg.Config
- func NewPrometheusMeter(lc di.Lifecycle) *metrics.Meter
- func NewPrometheusMeterProvider(lc di.Lifecycle) metric.MeterProvider
- func NewPrometheusMetricsConfig() *metrics.Config
- func NewRSA() *rsa.Config
- func NewRetry() *retry.Config
- func NewSSH(public, private string) *ssh.Config
- func NewSecureDebugConfig() *debug.Config
- func NewSecureTransportConfig() *transport.Config
- func NewTLSClientConfig() *tls.Config
- func NewTLSConfig(c, k string) *tls.Config
- func NewTLSServerConfig() *tls.Config
- func NewTextLoggerConfig() *logger.Config
- func NewTintLoggerConfig() *logger.Config
- func NewToken(kind string) *token.Config
- func NewTracer(lc di.Lifecycle, config *tracer.Config) *tracer.Tracer
- func Options() []di.Option
- func Path(path string) string
- func RandomAddress() string
- func RandomHost() string
- func RandomNetworkHost() (string, string)
- func RegisterHandlers[Res any](path string, h content.Handler[Res])
- func RegisterHealth(server *server.Server)
- func RegisterRequestHandlers[Req any, Res any](path string, h content.RequestHandler[Req, Res])
- func RestRequestProtobuf(_ context.Context, r *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
- func StatusURL(status string) string
- func SuccessProtobufSayHello(_ context.Context, r *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
- func Test(ctx context.Context) meta.Value
- func Timeout() (context.Context, context.CancelFunc)
- func WithTest(ctx context.Context, value meta.Value) context.Context
- type AnyTuple
- type BadReaderWriter
- type Cache
- type Client
- type EmptyHandler
- type ErrCache
- type ErrReaderCloser
- type ErrResponseWriter
- type ErrServer
- type Generator
- type InvalidMeter
- func (InvalidMeter) Float64Counter(string, ...metric.Float64CounterOption) (metric.Float64Counter, error)
- func (InvalidMeter) Float64Gauge(string, ...metric.Float64GaugeOption) (metric.Float64Gauge, error)
- func (InvalidMeter) Float64Histogram(string, ...metric.Float64HistogramOption) (metric.Float64Histogram, error)
- func (InvalidMeter) Float64ObservableCounter(string, ...metric.Float64ObservableCounterOption) (metric.Float64ObservableCounter, error)
- func (InvalidMeter) Float64ObservableGauge(string, ...metric.Float64ObservableGaugeOption) (metric.Float64ObservableGauge, error)
- func (InvalidMeter) Float64ObservableUpDownCounter(string, ...metric.Float64ObservableUpDownCounterOption) (metric.Float64ObservableUpDownCounter, error)
- func (InvalidMeter) Float64UpDownCounter(string, ...metric.Float64UpDownCounterOption) (metric.Float64UpDownCounter, error)
- func (InvalidMeter) Int64Counter(string, ...metric.Int64CounterOption) (metric.Int64Counter, error)
- func (InvalidMeter) Int64Gauge(string, ...metric.Int64GaugeOption) (metric.Int64Gauge, error)
- func (InvalidMeter) Int64Histogram(string, ...metric.Int64HistogramOption) (metric.Int64Histogram, error)
- func (InvalidMeter) Int64ObservableCounter(string, ...metric.Int64ObservableCounterOption) (metric.Int64ObservableCounter, error)
- func (InvalidMeter) Int64ObservableGauge(string, ...metric.Int64ObservableGaugeOption) (metric.Int64ObservableGauge, error)
- func (InvalidMeter) Int64ObservableUpDownCounter(string, ...metric.Int64ObservableUpDownCounterOption) (metric.Int64ObservableUpDownCounter, error)
- func (InvalidMeter) Int64UpDownCounter(string, ...metric.Int64UpDownCounterOption) (metric.Int64UpDownCounter, error)
- func (InvalidMeter) RegisterCallback(metric.Callback, ...metric.Observable) (metric.Registration, error)
- type KeyValue
- type NoopServer
- type Page
- type Request
- type Response
- func ErrorNotMappedSayHello(_ context.Context, _ *Request) (*Response, error)
- func ErrorSayHello(_ context.Context, _ *Request) (*Response, error)
- func NoContent(_ context.Context, _ *Request) (*Response, error)
- func RestContent(ctx context.Context) (*Response, error)
- func RestError(_ context.Context) (*Response, error)
- func RestInvalidStatusCode(ctx context.Context) (*Response, error)
- func RestNoContent(_ context.Context) (*Response, error)
- func RestRequestContent(ctx context.Context, req *Request) (*Response, error)
- func RestRequestError(_ context.Context, _ *Request) (*Response, error)
- func RestRequestInvalidStatusCode(ctx context.Context, _ *Request) (*Response, error)
- func RestRequestNoContent(_ context.Context, _ *Request) (*Response, error)
- func SuccessSayHello(ctx context.Context, r *Request) (*Response, error)
- type Server
- type Service
- type Shutdowner
- type StringTuple
- type Todo
- type Verifier
- type World
- func (w *World) DebugURL(protocol string) string
- func (w *World) EventsContext(ctx context.Context) context.Context
- func (w *World) HandleHello()
- func (w *World) HealthServer(name, url string) *server.Server
- func (w *World) NamedDebugURL(protocol, path string) string
- func (w *World) NamedServerURL(protocol, path string) string
- func (w *World) OpenDatabase() (*mssqlx.DBs, error)
- func (w *World) PathDebugURL(protocol, path string) string
- func (w *World) PathServerURL(protocol, path string) string
- func (w *World) Register()
- func (w *World) RegisterEvents(ctx context.Context)
- func (w *World) ResponseWithBody(ctx context.Context, url, method string, header http.Header, body io.Reader) (*http.Response, string, error)
- func (w *World) ResponseWithNoBody(ctx context.Context, url, method string, header http.Header) (*http.Response, error)
- func (w *World) ServerURL(protocol string) string
- type WorldOption
- func WithWorldClientLimiter(config *limiter.Config) WorldOption
- func WithWorldCompression() WorldOption
- func WithWorldDebug() WorldOption
- func WithWorldGRPC() WorldOption
- func WithWorldHTTP() WorldOption
- func WithWorldLogger(logger *logger.Logger) WorldOption
- func WithWorldLoggerConfig(config string) WorldOption
- func WithWorldPGConfig(config *pg.Config) WorldOption
- func WithWorldRest() WorldOption
- func WithWorldRoundTripper(rt http.RoundTripper) WorldOption
- func WithWorldSecure() WorldOption
- func WithWorldServerLimiter(config *limiter.Config) WorldOption
- func WithWorldTelemetry(kind string) WorldOption
- func WithWorldToken(generator token.Generator, verifier token.Verifier) WorldOption
Constants ¶
const ( // ID for test. ID = env.ID("1234567890") // Name for test. Name = env.Name("test") // UserID for test. UserID = env.UserID(Name) // Version for test. Version = env.Version("1.0.0") // Environment for test. Environment = env.Environment("dev") )
const DefaultTimeout = 10 * time.Minute
DefaultTimeout for test.
Variables ¶
var ( // ErrGenerate for test. ErrGenerate = errors.New("token: generation issue") // ErrInvalid for test. ErrInvalid = errors.New("token: invalid match") // ErrFailed for test. ErrFailed = errors.New("failed") // ErrInternal for test. ErrInternal = &internalError{} )
var ( // FileSystem for test. //go:embed views/*.tmpl //go:embed static/*.txt FileSystem embed.FS // Layout for test. Layout = mvc.NewLayout("views/full.tmpl", "views/partial.tmpl") // Model for test. Model = Page{ Title: "My TODO list", Todos: []Todo{ {Title: "Task 1", Done: false}, {Title: "Task 2", Done: true}, {Title: "Task 3", Done: true}, }, } )
var ( // FS used for tests. FS = os.NewFS() // ErrFS for tests. ErrFS *os.FS )
var Compressor = compress.NewMap(compress.MapParams{ Zstd: zstd.NewCompressor(), S2: s2.NewCompressor(), Snappy: snappy.NewCompressor(), None: none.NewCompressor(), })
Compressor for tests.
var Content = content.NewContent(Encoder)
Content for tests.
var Encoder = encoding.NewMap(encoding.MapParams{ JSON: json.NewEncoder(), YAML: yaml.NewEncoder(), TOML: toml.NewEncoder(), ProtoBinary: proto.NewBinary(), ProtoText: proto.NewText(), ProtoJSON: proto.NewJSON(), GOB: gob.NewEncoder(), Bytes: bytes.NewEncoder(), })
Encoder for tests.
var LimiterKeyMap = limiter.NewKeyMap()
LimiterKeyMap for test.
var PEM = pem.NewDecoder(FS)
PEM for test.
var Pool = sync.NewBufferPool()
Pool for test.
var UserAgent = env.UserAgent(Name.String() + "/" + Version.String())
UserAgent for test.
var Validator = config.NewValidator()
Validator for testing.
Functions ¶
func ErrorsInternalProtobufSayHello ¶
func ErrorsInternalProtobufSayHello(_ context.Context, _ *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
ErrorsInternalProtobufSayHello for test.
func ErrorsNotMappedProtobufSayHello ¶
func ErrorsNotMappedProtobufSayHello(_ context.Context, _ *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
ErrorsNotMappedProtobufSayHello for test.
func ErrorsProtobufSayHello ¶
func ErrorsProtobufSayHello(_ context.Context, _ *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
ErrorsProtobufSayHello for test.
func NewAccessConfig ¶ added in v2.30.0
NewAccessConfig for test.
func NewCacheConfig ¶
NewCacheConfig for test.
func NewDebugServer ¶ added in v2.26.0
NewDebugServer for test.
func NewDecoder ¶ added in v2.24.0
NewDecoder for test.
func NewEvents ¶ added in v2.25.0
func NewEvents(mux *http.ServeMux, rt http.RoundTripper, id *id.UUID) (*events.Receiver, client.Client)
NewEvents for test.
func NewGRPCClientLimiter ¶ added in v2.132.0
NewGRPCClientLimiter for test.
func NewGRPCServerLimiter ¶ added in v2.132.0
NewGRPCServerLimiter for test.
func NewHTTPClientLimiter ¶ added in v2.132.0
NewHTTPClientLimiter for test.
func NewHTTPServerLimiter ¶ added in v2.132.0
NewHTTPServerLimiter for test.
func NewInsecureDebugConfig ¶
NewInsecureDebugConfig for test.
func NewInsecureTransportConfig ¶
NewInsecureTransportConfig for test.
func NewLimiterConfig ¶
NewLimiterConfig for test.
func NewMeterProvider ¶
NewMeterProvider for test.
func NewOTLPMeterProvider ¶
func NewOTLPMeterProvider(lc di.Lifecycle) metric.MeterProvider
NewOTLPMeterProvider for test.
func NewOTLPMetricsConfig ¶
NewOTLPMetricsConfig for test.
func NewPrometheusMeter ¶
NewPrometheusMeter for test.
func NewPrometheusMeterProvider ¶
func NewPrometheusMeterProvider(lc di.Lifecycle) metric.MeterProvider
NewPrometheusMeterProvider for test.
func NewPrometheusMetricsConfig ¶
NewPrometheusMetricsConfig for test.
func NewSecureDebugConfig ¶
NewSecureDebugConfig for test.
func NewSecureTransportConfig ¶
NewSecureTransportConfig for test.
func RandomNetworkHost ¶ added in v2.93.0
RandomNetworkHost for tests.
func RegisterHandlers ¶
RegisterHandlers for test.
func RegisterHealth ¶ added in v2.22.0
RegisterHealth for test.
func RegisterRequestHandlers ¶
func RegisterRequestHandlers[Req any, Res any](path string, h content.RequestHandler[Req, Res])
RegisterRequestHandlers for test.
func RestRequestProtobuf ¶
func RestRequestProtobuf(_ context.Context, r *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
RestRequestProtobuf for test.
func SuccessProtobufSayHello ¶
func SuccessProtobufSayHello(_ context.Context, r *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
SuccessProtobufSayHello for test.
Types ¶
type Client ¶
type Client struct {
Lifecycle di.Lifecycle
Logger *logger.Logger
Tracer *tracer.Config
Transport *transport.Config
TLS *tls.Config
ID id.Generator
RoundTripper http.RoundTripper
Meter *metrics.Meter
Generator token.Generator
HTTPLimiter *hl.Client
GRPCLimiter *gl.Client
Compression bool
}
Client for test.
func (*Client) NewGRPC ¶
func (c *Client) NewGRPC() *grpc.ClientConn
type EmptyHandler ¶
type EmptyHandler struct{}
EmptyHandler for test.
func (*EmptyHandler) ServeHTTP ¶
func (*EmptyHandler) ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)
type ErrResponseWriter ¶
type ErrResponseWriter struct {
Code int
}
ErrResponseWriter for test.
func (*ErrResponseWriter) Header ¶
func (w *ErrResponseWriter) Header() http.Header
Header is always empty.
func (*ErrResponseWriter) Write ¶
func (w *ErrResponseWriter) Write([]byte) (int, error)
Write returns ErrFailed.
func (*ErrResponseWriter) WriteHeader ¶
func (w *ErrResponseWriter) WriteHeader(code int)
WriteHeader stored the code in the field Code.
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
Generator for test.
type InvalidMeter ¶
InvalidMeter for test.
func (InvalidMeter) Float64Counter ¶
func (InvalidMeter) Float64Counter(string, ...metric.Float64CounterOption) (metric.Float64Counter, error)
func (InvalidMeter) Float64Gauge ¶
func (InvalidMeter) Float64Gauge(string, ...metric.Float64GaugeOption) (metric.Float64Gauge, error)
func (InvalidMeter) Float64Histogram ¶
func (InvalidMeter) Float64Histogram(string, ...metric.Float64HistogramOption) (metric.Float64Histogram, error)
func (InvalidMeter) Float64ObservableCounter ¶
func (InvalidMeter) Float64ObservableCounter(string, ...metric.Float64ObservableCounterOption) (metric.Float64ObservableCounter, error)
func (InvalidMeter) Float64ObservableGauge ¶
func (InvalidMeter) Float64ObservableGauge(string, ...metric.Float64ObservableGaugeOption) (metric.Float64ObservableGauge, error)
func (InvalidMeter) Float64ObservableUpDownCounter ¶
func (InvalidMeter) Float64ObservableUpDownCounter(string, ...metric.Float64ObservableUpDownCounterOption) (metric.Float64ObservableUpDownCounter, error)
func (InvalidMeter) Float64UpDownCounter ¶
func (InvalidMeter) Float64UpDownCounter(string, ...metric.Float64UpDownCounterOption) (metric.Float64UpDownCounter, error)
func (InvalidMeter) Int64Counter ¶
func (InvalidMeter) Int64Counter(string, ...metric.Int64CounterOption) (metric.Int64Counter, error)
func (InvalidMeter) Int64Gauge ¶
func (InvalidMeter) Int64Gauge(string, ...metric.Int64GaugeOption) (metric.Int64Gauge, error)
func (InvalidMeter) Int64Histogram ¶
func (InvalidMeter) Int64Histogram(string, ...metric.Int64HistogramOption) (metric.Int64Histogram, error)
func (InvalidMeter) Int64ObservableCounter ¶
func (InvalidMeter) Int64ObservableCounter(string, ...metric.Int64ObservableCounterOption) (metric.Int64ObservableCounter, error)
func (InvalidMeter) Int64ObservableGauge ¶
func (InvalidMeter) Int64ObservableGauge(string, ...metric.Int64ObservableGaugeOption) (metric.Int64ObservableGauge, error)
func (InvalidMeter) Int64ObservableUpDownCounter ¶
func (InvalidMeter) Int64ObservableUpDownCounter(string, ...metric.Int64ObservableUpDownCounterOption) (metric.Int64ObservableUpDownCounter, error)
func (InvalidMeter) Int64UpDownCounter ¶
func (InvalidMeter) Int64UpDownCounter(string, ...metric.Int64UpDownCounterOption) (metric.Int64UpDownCounter, error)
func (InvalidMeter) RegisterCallback ¶
func (InvalidMeter) RegisterCallback(metric.Callback, ...metric.Observable) (metric.Registration, error)
type KeyValue ¶ added in v2.10.0
type KeyValue[Key, Value any] struct { Key Key Value Value }
KeyValue for test.
type NoopServer ¶
type NoopServer struct{}
NoopServer for test.
func (*NoopServer) Serve ¶
func (s *NoopServer) Serve() error
func (*NoopServer) String ¶
func (s *NoopServer) String() string
type Response ¶
Response for test.
func ErrorNotMappedSayHello ¶
ErrorNotMappedSayHello for test.
func ErrorSayHello ¶
ErrorSayHello for test.
func RestInvalidStatusCode ¶
RestInvalidStatusCode for test.
func RestNoContent ¶
RestNoContent for test.
func RestRequestContent ¶
RestRequestContent for test.
func RestRequestError ¶
RestRequestError for test.
func RestRequestInvalidStatusCode ¶
RestRequestInvalidStatusCode for test.
func RestRequestNoContent ¶
RestRequestNoContent for test.
type Server ¶
type Server struct {
Lifecycle di.Lifecycle
Meter *metrics.Meter
Verifier token.Verifier
Mux *http.ServeMux
HTTPServer *th.Server
GRPCServer *grpc.Server
DebugServer *debug.Server
TransportConfig *transport.Config
DebugConfig *debug.Config
Tracer *tracer.Config
GRPCLimiter *gl.Server
HTTPLimiter *hl.Server
Logger *logger.Logger
ID id.Generator
RegisterHTTP bool
RegisterGRPC bool
RegisterDebug bool
}
Server for test.
type Service ¶
type Service struct {
v1.UnimplementedGreeterServiceServer
}
Service ...
func (*Service) SayHello ¶
func (s *Service) SayHello(ctx context.Context, req *v1.SayHelloRequest) (*v1.SayHelloResponse, error)
SayHello ...
func (*Service) SayStreamHello ¶
func (s *Service) SayStreamHello(stream v1.GreeterService_SayStreamHelloServer) error
SayStreamHello ...
type Shutdowner ¶
type Shutdowner struct {
// contains filtered or unexported fields
}
func NewShutdowner ¶
func NewShutdowner() *Shutdowner
func (*Shutdowner) Called ¶
func (s *Shutdowner) Called() bool
func (*Shutdowner) Shutdown ¶
func (s *Shutdowner) Shutdown(...di.ShutdownOption) error
type Verifier ¶
type Verifier struct {
// contains filtered or unexported fields
}
Verifier for test.
type World ¶
type World struct {
*fxtest.Lifecycle
*http.ServeMux
*logger.Logger
Tracer *tracer.Config
PG *pg.Config
*Server
*Client
*sdk.Event
*events.Receiver
cacher.Cache
Sender client.Client
Rest *rest.Client
}
World for test.
func (*World) EventsContext ¶
EventsContext for world.
func (*World) HealthServer ¶ added in v2.59.0
HealthServer for test.
func (*World) NamedDebugURL ¶ added in v2.73.0
NamedDebugURL for world.
func (*World) NamedServerURL ¶ added in v2.73.0
NamedServerURL for world.
func (*World) OpenDatabase ¶
OpenDatabase for world.
func (*World) PathDebugURL ¶ added in v2.73.0
PathDebugURL for world.
func (*World) PathServerURL ¶ added in v2.73.0
PathServerURL for world.
func (*World) RegisterEvents ¶
RegisterEvents for world.
func (*World) ResponseWithBody ¶
func (w *World) ResponseWithBody(ctx context.Context, url, method string, header http.Header, body io.Reader) (*http.Response, string, error)
ResponseWithBody for the world.
type WorldOption ¶
type WorldOption interface {
// contains filtered or unexported methods
}
WorldOption for test.
func WithWorldClientLimiter ¶ added in v2.73.0
func WithWorldClientLimiter(config *limiter.Config) WorldOption
WithWorldClientLimiter for test.
func WithWorldLogger ¶
func WithWorldLogger(logger *logger.Logger) WorldOption
WithWorldLogger for test.
func WithWorldLoggerConfig ¶
func WithWorldLoggerConfig(config string) WorldOption
WithWorldLoggerConfig for test.
func WithWorldPGConfig ¶
func WithWorldPGConfig(config *pg.Config) WorldOption
WithWorldPGConfig for test.
func WithWorldRoundTripper ¶
func WithWorldRoundTripper(rt http.RoundTripper) WorldOption
WithWorldRoundTripper for test.
func WithWorldServerLimiter ¶ added in v2.73.0
func WithWorldServerLimiter(config *limiter.Config) WorldOption
WithWorldServerLimiter for test.
func WithWorldTelemetry ¶
func WithWorldTelemetry(kind string) WorldOption
WithWorldTelemetry for test.
func WithWorldToken ¶
func WithWorldToken(generator token.Generator, verifier token.Verifier) WorldOption
WithWorldToken for test.
Source Files
¶
- cache.go
- client.go
- compress.go
- config.go
- container.go
- context.go
- db.go
- debug.go
- encoding.go
- env.go
- error.go
- events.go
- health.go
- http.go
- limiter.go
- logger.go
- meta.go
- meter.go
- metrics.go
- mvc.go
- opts.go
- os.go
- path.go
- pem.go
- port.go
- reader.go
- rest.go
- rpc.go
- rw.go
- server.go
- service.go
- shutdowner.go
- ssh.go
- status.go
- sync.go
- token.go
- tracer.go
- world.go