suites

package
v0.0.0-...-6789dc4 Latest Latest
Warning

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

Go to latest
Published: Jul 30, 2021 License: GPL-3.0, GPL-3.0 Imports: 21 Imported by: 0

Documentation

Overview

Package suites contains reusable acceptance test suites.

Index

Constants

View Source
const (
	DevListeningOnPat  = "INFO listening for devices on "
	HTTPListeningOnPat = "INFO listening for http on "
)
View Source
const MaxNotificationsPerApplication = 45

Variables

This section is empty.

Functions

func ExtractListeningAddr

func ExtractListeningAddr(c *C, logs <-chan string, pat string) string

ExtractListeningAddr goes over logs until a line starting with pat and returns the rest of that line.

func FillConfig

func FillConfig(cfg, values map[string]interface{})

FillConfig fills cfg from values.

func FillHTTPServerConfig

func FillHTTPServerConfig(cfg map[string]interface{}, httpAddr string)

FillHttpServerConfig fills cfg with default http server values and "http_addr": httpAddr.

func FillServerConfig

func FillServerConfig(cfg map[string]interface{}, addr string)

FillServerConfig fills cfg with default server values and "addr": addr.

func NextEvent

func NextEvent(events <-chan string, errCh <-chan error) string

NextEvent receives an event from given string channel with a 5s timeout, or from a channel for errors.

func RunAndObserve

func RunAndObserve(c *C, cmdName string, arg ...string) (<-chan string, func(os.Signal))

RunAndObserve runs cmdName and returns a channel that will receive cmdName stderr logging and a function to kill the process.

func WriteConfig

func WriteConfig(c *C, dir, filename string, cfg map[string]interface{}) string

WriteConfig writes out a config and returns the written filepath.

Types

type AcceptanceSuite

type AcceptanceSuite struct {
	// hook to start the server(s)
	StartServer func(c *C, s *AcceptanceSuite, handle *ServerHandle)
	// populated by StartServer
	ServerHandle
	kit.APIClient // has ServerAPIURL
	// KillGroup should be populated by StartServer with functions
	// to kill the server process
	KillGroup map[string]func(os.Signal)
}

AcceptanceSuite has the basic functionality of the acceptance suites.

func (*AcceptanceSuite) SetUpTest

func (s *AcceptanceSuite) SetUpTest(c *C)

Start a new server for each test.

func (*AcceptanceSuite) TearDownTest

func (s *AcceptanceSuite) TearDownTest(c *C)

type BroadcastAcceptanceSuite

type BroadcastAcceptanceSuite struct {
	AcceptanceSuite
}

BroadcastAcceptanceSuite has tests about broadcast.

func (*BroadcastAcceptanceSuite) TestBroadcastDistribution2

func (s *BroadcastAcceptanceSuite) TestBroadcastDistribution2(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastExpiration

func (s *BroadcastAcceptanceSuite) TestBroadcastExpiration(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastFilterByLevel

func (s *BroadcastAcceptanceSuite) TestBroadcastFilterByLevel(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastLargeNeedsSplitting

func (s *BroadcastAcceptanceSuite) TestBroadcastLargeNeedsSplitting(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastPending

func (s *BroadcastAcceptanceSuite) TestBroadcastPending(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastToConnected

func (s *BroadcastAcceptanceSuite) TestBroadcastToConnected(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastToConnectedChannelFilter

func (s *BroadcastAcceptanceSuite) TestBroadcastToConnectedChannelFilter(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastTooAhead

func (s *BroadcastAcceptanceSuite) TestBroadcastTooAhead(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastTooAheadOnEmpty

func (s *BroadcastAcceptanceSuite) TestBroadcastTooAheadOnEmpty(c *C)

func (*BroadcastAcceptanceSuite) TestBroadcastWayBehind

func (s *BroadcastAcceptanceSuite) TestBroadcastWayBehind(c *C)

func (*BroadcastAcceptanceSuite) TestGetHosts

func (s *BroadcastAcceptanceSuite) TestGetHosts(c *C)

type PingPongAcceptanceSuite

type PingPongAcceptanceSuite struct {
	AcceptanceSuite
}

PingPongAcceptanceSuite has tests about connectivity and ping-pong requests.

func (*PingPongAcceptanceSuite) TestConnectPingNeverPong

func (s *PingPongAcceptanceSuite) TestConnectPingNeverPong(c *C)

func (*PingPongAcceptanceSuite) TestConnectPingPing

func (s *PingPongAcceptanceSuite) TestConnectPingPing(c *C)

type ServerHandle

type ServerHandle struct {
	ServerAddr     string
	ServerHTTPAddr string
	ServerEvents   <-chan string
	// last started session
	LastSession *acceptance.ClientSession
}

ServerHandle holds the information to attach a client to the test server.

func (*ServerHandle) StartClient

func (h *ServerHandle) StartClient(c *C, devId string, levels map[string]int64) (events <-chan string, errorCh <-chan error, stop func())

Start a client.

func (*ServerHandle) StartClientAuth

func (h *ServerHandle) StartClientAuth(c *C, devId string, levels map[string]int64, auth string, cookie string) (events <-chan string, errorCh <-chan error, stop func())

Start a client with auth.

func (*ServerHandle) StartClientAuthFlex

func (h *ServerHandle) StartClientAuthFlex(c *C, devId string, levels map[string]int64, auth, cookie, devIdRegexp string) (events <-chan string, errorCh <-chan error, stop func())

Start a client with auth, take a devId regexp, don't check any client event.

type UnicastAcceptanceSuite

type UnicastAcceptanceSuite struct {
	AcceptanceSuite
	AssociatedAuth func(string) (string, string)
}

UnicastAcceptanceSuite has tests about unicast.

func (*UnicastAcceptanceSuite) TestUnicastCorrectDistribution

func (s *UnicastAcceptanceSuite) TestUnicastCorrectDistribution(c *C)

func (*UnicastAcceptanceSuite) TestUnicastLargeNeedsSplitting

func (s *UnicastAcceptanceSuite) TestUnicastLargeNeedsSplitting(c *C)

func (*UnicastAcceptanceSuite) TestUnicastPending

func (s *UnicastAcceptanceSuite) TestUnicastPending(c *C)

func (*UnicastAcceptanceSuite) TestUnicastReplaceTag

func (s *UnicastAcceptanceSuite) TestUnicastReplaceTag(c *C)

func (*UnicastAcceptanceSuite) TestUnicastToConnected

func (s *UnicastAcceptanceSuite) TestUnicastToConnected(c *C)

func (*UnicastAcceptanceSuite) TestUnicastTooManyClearPending

func (s *UnicastAcceptanceSuite) TestUnicastTooManyClearPending(c *C)

Jump to

Keyboard shortcuts

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