cromberbus

package module
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2019 License: MIT Imports: 3 Imported by: 0

README

Cromberbus

Cromberbus is a simple command bus written in Go

License

Cromberbus is free and released under the MIT License

Authors

About Jacobo Cromberger

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Command

type Command interface{}

type CommandBus

type CommandBus interface {
	Dispatch(command Command) error
}

type CommandCallable

type CommandCallable func(command Command) error

type CommandHandler

type CommandHandler interface {
	Handle(command Command) error
}

type CommandHandlerResolver

type CommandHandlerResolver interface {
	Resolve(command Command) (CommandHandler, error)
}

type CommandHandlerResolverMock

type CommandHandlerResolverMock struct {
	// ResolveFunc mocks the Resolve method.
	ResolveFunc func(command Command) (CommandHandler, error)
	// contains filtered or unexported fields
}

CommandHandlerResolverMock is a mock implementation of CommandHandlerResolver.

    func TestSomethingThatUsesCommandHandlerResolver(t *testing.T) {

        // make and configure a mocked CommandHandlerResolver
        mockedCommandHandlerResolver := &CommandHandlerResolverMock{
            ResolveFunc: func(command Command) (CommandHandler, error) {
	               panic("mock out the Resolve method")
            },
        }

        // use mockedCommandHandlerResolver in code that requires CommandHandlerResolver
        // and then make assertions.

    }

func (*CommandHandlerResolverMock) Resolve

func (mock *CommandHandlerResolverMock) Resolve(command Command) (CommandHandler, error)

Resolve calls ResolveFunc.

func (*CommandHandlerResolverMock) ResolveCalls

func (mock *CommandHandlerResolverMock) ResolveCalls() []struct {
	Command Command
}

ResolveCalls gets all the calls that were made to Resolve. Check the length with:

len(mockedCommandHandlerResolver.ResolveCalls())

type CromberBus

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

func NewCromberBus

func NewCromberBus(handlerResolver CommandHandlerResolver, middlewares ...Middleware) CromberBus

func (CromberBus) Dispatch

func (b CromberBus) Dispatch(command Command) error

type MapHandlerResolver

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

func NewMapHandlerResolver

func NewMapHandlerResolver() MapHandlerResolver

func (MapHandlerResolver) AddHandler

func (r MapHandlerResolver) AddHandler(command Command, handler CommandHandler)

func (MapHandlerResolver) Resolve

func (r MapHandlerResolver) Resolve(command Command) (CommandHandler, error)

type Middleware

type Middleware interface {
	Execute(command Command, next CommandCallable) error
}

type MiddlewareList

type MiddlewareList []Middleware

func NewMiddlewareList

func NewMiddlewareList(commandHandler commandHandlingMiddleware) MiddlewareList

func (MiddlewareList) Queue

func (m MiddlewareList) Queue(middleware ...Middleware) MiddlewareList

Directories

Path Synopsis
examples
user command

Jump to

Keyboard shortcuts

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