Files
akvorado/console/tests.go
Vincent Bernat 62521e629d common/http: rename to common/httpserver
This is a preparation to introduce an httpclient common package. And it
makes it easier to use http from the standard library.
2023-05-28 09:08:29 +02:00

46 lines
1.2 KiB
Go

// SPDX-FileCopyrightText: 2022 Free Mobile
// SPDX-License-Identifier: AGPL-3.0-only
//go:build !release
package console
import (
"testing"
"github.com/benbjohnson/clock"
"akvorado/common/clickhousedb"
"akvorado/common/clickhousedb/mocks"
"akvorado/common/daemon"
"akvorado/common/helpers"
"akvorado/common/httpserver"
"akvorado/common/reporter"
"akvorado/common/schema"
"akvorado/console/authentication"
"akvorado/console/database"
)
// NewMock instantiantes a new authentication component
func NewMock(t *testing.T, config Configuration) (*Component, *httpserver.Component, *mocks.MockConn, *clock.Mock) {
t.Helper()
r := reporter.NewMock(t)
h := httpserver.NewMock(t, r)
ch, mockConn := clickhousedb.NewMock(t, r)
mockClock := clock.NewMock()
c, err := New(r, config, Dependencies{
Daemon: daemon.NewMock(t),
HTTP: h,
ClickHouseDB: ch,
Clock: mockClock,
Auth: authentication.NewMock(t, r),
Database: database.NewMock(t, r, database.DefaultConfiguration()),
Schema: schema.NewMock(t),
})
if err != nil {
t.Fatalf("New() error:\n%+v", err)
}
helpers.StartStop(t, c)
return c, h, mockConn, mockClock
}