test

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2023 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package "test" provides primitives to interact with the AsyncAPI specification.

Code generated by github.com/lerenn/asyncapi-codegen version (devel) DO NOT EDIT.

Index

Constants

View Source
const (
	// CorrelationIDField is the name of the field that will contain the correlation ID
	CorrelationIDField = "correlation_id"
)

Variables

View Source
var (
	// Generic error for AsyncAPI generated code
	ErrAsyncAPI = errors.New("error when using AsyncAPI")

	// ErrTimedOut is given when any timeout happen
	ErrTimedOut = fmt.Errorf("%w: time out", ErrAsyncAPI)

	// ErrNilBrokerController is raised when a nil broker controller is user
	ErrNilBrokerController = fmt.Errorf("%w: nil broker controller has been used", ErrAsyncAPI)

	// ErrNilAppSubscriber is raised when a nil app subscriber is user
	ErrNilAppSubscriber = fmt.Errorf("%w: nil app subscriber has been used", ErrAsyncAPI)

	// ErrNilClientSubscriber is raised when a nil client subscriber is user
	ErrNilClientSubscriber = fmt.Errorf("%w: nil client subscriber has been used", ErrAsyncAPI)

	// ErrAlreadySubscribedChannel is raised when a subscription is done twice
	// or more without unsubscribing
	ErrAlreadySubscribedChannel = fmt.Errorf("%w: the channel has already been subscribed", ErrAsyncAPI)
)

Functions

This section is empty.

Types

type AppController

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

AppController is the structure that provides publishing capabilities to the developer and and connect the broker with the app

func NewAppController

func NewAppController(bs BrokerController) (*AppController, error)

NewAppController links the application to the broker

func (*AppController) Close

func (ac *AppController) Close()

Close will clean up any existing resources on the controller

func (AppController) Errors

func (ac AppController) Errors() <-chan Error

Errors will give back the channel that contains errors and that you can listen to handle errors Please take a look at Error struct form information on error

func (*AppController) Listen

func (ac *AppController) Listen(irq <-chan interface{})

Listen will let the controller handle subscriptions and will be interrupted only when an struct is sent on the interrupt channel

func (*AppController) PublishUserSignedup

func (ac *AppController) PublishUserSignedup(msg UserSignedUpMessage) error

PublishUserSignedup will publish messages to 'user/signedup' channel

type BrokerController

type BrokerController interface {
	// Publish a message to the broker
	Publish(channel string, mw UniversalMessage) error

	// Subscribe to messages from the broker
	Subscribe(channel string) (msgs chan UniversalMessage, stop chan interface{}, err error)
}

BrokerController represents the functions that should be implemented to connect the broker to the application or the client

type ClientController

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

ClientController is the structure that provides publishing capabilities to the developer and and connect the broker with the client

func NewClientController

func NewClientController(bs BrokerController) (*ClientController, error)

NewClientController links the client to the broker

func (*ClientController) Close

func (cc *ClientController) Close()

Close will clean up any existing resources on the controller

func (ClientController) Errors

func (cc ClientController) Errors() <-chan Error

Errors will give back the channel that contains errors and that you can listen to handle errors Please take a look at Error struct form information on error

func (*ClientController) Listen

func (cc *ClientController) Listen(irq <-chan interface{})

Listen will let the controller handle subscriptions and will be interrupted only when an struct is sent on the interrupt channel

func (*ClientController) SubscribeAll

func (cc *ClientController) SubscribeAll(cs ClientSubscriber) error

SubscribeAll will subscribe to channels on which the client is expecting messages

func (*ClientController) SubscribeUserSignedup

func (cc *ClientController) SubscribeUserSignedup(fn func(msg UserSignedUpMessage)) error

SubscribeUserSignedup will subscribe to new messages from 'user/signedup' channel

func (*ClientController) UnsubscribeAll

func (cc *ClientController) UnsubscribeAll()

UnsubscribeAll will unsubscribe all remaining subscribed channels

func (*ClientController) UnsubscribeUserSignedup

func (cc *ClientController) UnsubscribeUserSignedup()

UnsubscribeUserSignedup will unsubscribe messages from 'user/signedup' channel

type ClientSubscriber

type ClientSubscriber interface {
	// UserSignedup
	UserSignedup(msg UserSignedUpMessage)
}

ClientSubscriber represents all application handlers that are expecting messages from application

type Error

type Error struct {
	Channel string
	Err     error
}

func (*Error) Error

func (e *Error) Error() string

type UniversalMessage

type UniversalMessage struct {
	CorrelationID string
	Payload       []byte
}

UniversalMessage is a wrapper that will contain all information regarding a message

type UserSignedUpMessage

type UserSignedUpMessage struct {
	// Payload will be inserted in the message payload
	Payload struct {
		// Name of the user
		DisplayName string `json:"display_name"`

		// Email of the user
		Email string `json:"email"`
	}
}

UserSignedUpMessage is the message expected for 'UserSignedUp' channel

func NewUserSignedUpMessage

func NewUserSignedUpMessage() UserSignedUpMessage

Jump to

Keyboard shortcuts

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