Files
akvorado/flow/tests.go
Vincent Bernat bb1ce0fde5 flow: add a metric when the internal queue is full
This gives a good hint if there is a problem. Maybe we don't need to
optimize more.
2022-03-22 23:21:08 +01:00

35 lines
738 B
Go

//go:build !release
package flow
import (
"testing"
"akvorado/daemon"
"akvorado/http"
"akvorado/reporter"
)
// NewMock creates a new flow importer listening on a random port. It
// is autostarted.
func NewMock(t *testing.T, r *reporter.Reporter, config Configuration) *Component {
t.Helper()
config.Listen = "127.0.0.1:0"
c, err := New(r, config, Dependencies{
Daemon: daemon.NewMock(t),
HTTP: http.NewMock(t, r),
})
if err != nil {
t.Fatalf("New() error:\n%+v", err)
}
if err := c.Start(); err != nil {
t.Fatalf("Start() error:\n%+v", err)
}
return c
}
// Inject inject the provided flow message, as if it was received.
func (c *Component) Inject(t *testing.T, fmsg *FlowMessage) {
c.outgoingFlows <- fmsg
}