Documentation ¶
Overview ¶
Package suites contains reusable acceptance test suites.
Index ¶
- Constants
- func ExtractListeningAddr(c *C, logs <-chan string, pat string) string
- func FillConfig(cfg, values map[string]interface{})
- func FillHTTPServerConfig(cfg map[string]interface{}, httpAddr string)
- func FillServerConfig(cfg map[string]interface{}, addr string)
- func NextEvent(events <-chan string, errCh <-chan error) string
- func RunAndObserve(c *C, cmdName string, arg ...string) (<-chan string, func(os.Signal))
- func WriteConfig(c *C, dir, filename string, cfg map[string]interface{}) string
- type AcceptanceSuite
- type BroadcastAcceptanceSuite
- func (s *BroadcastAcceptanceSuite) TestBroadcastDistribution2(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastExpiration(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastFilterByLevel(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastLargeNeedsSplitting(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastPending(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastToConnected(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastToConnectedChannelFilter(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastTooAhead(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastTooAheadOnEmpty(c *C)
- func (s *BroadcastAcceptanceSuite) TestBroadcastWayBehind(c *C)
- func (s *BroadcastAcceptanceSuite) TestGetHosts(c *C)
- type PingPongAcceptanceSuite
- type ServerHandle
- func (h *ServerHandle) StartClient(c *C, devId string, levels map[string]int64) (events <-chan string, errorCh <-chan error, stop func())
- func (h *ServerHandle) StartClientAuth(c *C, devId string, levels map[string]int64, auth string, cookie string) (events <-chan string, errorCh <-chan error, stop func())
- func (h *ServerHandle) StartClientAuthFlex(c *C, devId string, levels map[string]int64, auth, cookie, devIdRegexp string) (events <-chan string, errorCh <-chan error, stop func())
- type UnicastAcceptanceSuite
- func (s *UnicastAcceptanceSuite) TestUnicastCorrectDistribution(c *C)
- func (s *UnicastAcceptanceSuite) TestUnicastLargeNeedsSplitting(c *C)
- func (s *UnicastAcceptanceSuite) TestUnicastPending(c *C)
- func (s *UnicastAcceptanceSuite) TestUnicastReplaceTag(c *C)
- func (s *UnicastAcceptanceSuite) TestUnicastToConnected(c *C)
- func (s *UnicastAcceptanceSuite) TestUnicastTooManyClearPending(c *C)
Constants ¶
const ( DevListeningOnPat = "INFO listening for devices on " HTTPListeningOnPat = "INFO listening for http on " )
const MaxNotificationsPerApplication = 45
Variables ¶
This section is empty.
Functions ¶
func ExtractListeningAddr ¶
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 ¶
FillHttpServerConfig fills cfg with default http server values and "http_addr": httpAddr.
func FillServerConfig ¶
FillServerConfig fills cfg with default server values and "addr": addr.
func NextEvent ¶
NextEvent receives an event from given string channel with a 5s timeout, or from a channel for errors.
func RunAndObserve ¶
RunAndObserve runs cmdName and returns a channel that will receive cmdName stderr logging and a function to kill the process.
func WriteConfig ¶
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)