chore: add standard test logger ignoring db canceled (#15556)

Refactors our use of `slogtest` to instantiate a "standard logger" across most of our tests.  This standard logger incorporates https://github.com/coder/slog/pull/217 to also ignore database query canceled errors by default, which are a source of low-severity flakes.

Any test that has set non-default `slogtest.Options` is left alone. In particular, `coderdtest` defaults to ignoring all errors. We might consider revisiting that decision now that we have better tools to target the really common flaky Error logs on shutdown.
This commit is contained in:
Spike Curtis
2024-11-18 14:09:22 +04:00
committed by GitHub
parent 4719d2406f
commit 5861e516b9
95 changed files with 443 additions and 501 deletions
+2 -3
View File
@@ -17,7 +17,6 @@ import (
"github.com/stretchr/testify/require"
"go.uber.org/goleak"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/httpapi"
"github.com/coder/coder/v2/coderd/rbac/policy"
"github.com/coder/coder/v2/tailnet/tailnettest"
@@ -426,7 +425,7 @@ func TestMultiReplica_EmptyRelayAddress(t *testing.T) {
ctx := testutil.Context(t, testutil.WaitLong)
db, ps := dbtestutil.NewDB(t)
logger := slogtest.Make(t, nil)
logger := testutil.Logger(t)
_, _ = coderdenttest.New(t, &coderdenttest.Options{
EntitlementsUpdateInterval: 25 * time.Millisecond,
@@ -468,7 +467,7 @@ func TestMultiReplica_EmptyRelayAddress_DisabledDERP(t *testing.T) {
ctx := testutil.Context(t, testutil.WaitLong)
db, ps := dbtestutil.NewDB(t)
logger := slogtest.Make(t, nil)
logger := testutil.Logger(t)
dv := coderdtest.DeploymentValues(t)
dv.DERP.Server.Enable = serpent.Bool(false)
@@ -11,32 +11,28 @@ import (
"testing"
"time"
"github.com/golang-jwt/jwt/v4"
"github.com/google/uuid"
"github.com/moby/moby/pkg/namesgenerator"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/xerrors"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/database/dbmem"
"github.com/coder/coder/v2/coderd/database/pubsub"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/codersdk/drpc"
"github.com/coder/coder/v2/enterprise/coderd"
"github.com/coder/coder/v2/enterprise/coderd/license"
"github.com/coder/coder/v2/enterprise/dbcrypt"
"github.com/coder/coder/v2/provisioner/echo"
"github.com/coder/coder/v2/provisionerd"
provisionerdproto "github.com/coder/coder/v2/provisionerd/proto"
"github.com/coder/coder/v2/provisionersdk"
sdkproto "github.com/coder/coder/v2/provisionersdk/proto"
"github.com/coder/coder/v2/testutil"
"github.com/golang-jwt/jwt/v4"
"github.com/google/uuid"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/enterprise/coderd"
"github.com/coder/coder/v2/enterprise/coderd/license"
"github.com/coder/coder/v2/enterprise/dbcrypt"
)
const (
@@ -354,7 +350,7 @@ func NewExternalProvisionerDaemon(t testing.TB, client *codersdk.Client, org uui
Tags: tags,
})
}, &provisionerd.Options{
Logger: slogtest.Make(t, nil).Named("provisionerd").Leveled(slog.LevelDebug),
Logger: testutil.Logger(t).Named("provisionerd"),
UpdateInterval: 250 * time.Millisecond,
ForceCancelInterval: 5 * time.Second,
Connector: provisionerd.LocalProvisioners{
+2 -2
View File
@@ -18,11 +18,11 @@ import (
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/workspaceapps/appurl"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/enterprise/coderd"
"github.com/coder/coder/v2/enterprise/wsproxy"
"github.com/coder/coder/v2/testutil"
)
type ProxyOptions struct {
@@ -144,7 +144,7 @@ func NewWorkspaceProxyReplica(t *testing.T, coderdAPI *coderd.API, owner *coders
statsCollectorOptions.Flush = options.FlushStats
}
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug).With(slog.F("server_url", serverURL.String()))
logger := testutil.Logger(t).With(slog.F("server_url", serverURL.String()))
wssrv, err := wsproxy.New(ctx, &wsproxy.Options{
Logger: logger,
+7 -7
View File
@@ -7,13 +7,13 @@ import (
"github.com/golang-jwt/jwt/v4"
"github.com/stretchr/testify/require"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/entitlements"
"github.com/coder/coder/v2/coderd/idpsync"
"github.com/coder/coder/v2/coderd/rbac"
"github.com/coder/coder/v2/coderd/runtimeconfig"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/enterprise/coderd/enidpsync"
"github.com/coder/coder/v2/testutil"
)
func TestEnterpriseParseRoleClaims(t *testing.T) {
@@ -31,7 +31,7 @@ func TestEnterpriseParseRoleClaims(t *testing.T) {
t.Parallel()
mgr := runtimeconfig.NewManager()
s := enidpsync.NewSync(slogtest.Make(t, nil), mgr, entitlements.New(), idpsync.DeploymentSyncSettings{})
s := enidpsync.NewSync(testutil.Logger(t), mgr, entitlements.New(), idpsync.DeploymentSyncSettings{})
params, err := s.ParseRoleClaims(context.Background(), jwt.MapClaims{})
require.Nil(t, err)
@@ -44,7 +44,7 @@ func TestEnterpriseParseRoleClaims(t *testing.T) {
// Since it is not entitled, it should not be enabled
mgr := runtimeconfig.NewManager()
s := enidpsync.NewSync(slogtest.Make(t, nil), mgr, entitlements.New(), idpsync.DeploymentSyncSettings{
s := enidpsync.NewSync(testutil.Logger(t), mgr, entitlements.New(), idpsync.DeploymentSyncSettings{
SiteRoleField: "roles",
})
@@ -58,7 +58,7 @@ func TestEnterpriseParseRoleClaims(t *testing.T) {
t.Parallel()
mgr := runtimeconfig.NewManager()
s := enidpsync.NewSync(slogtest.Make(t, nil), mgr, entitled, idpsync.DeploymentSyncSettings{})
s := enidpsync.NewSync(testutil.Logger(t), mgr, entitled, idpsync.DeploymentSyncSettings{})
params, err := s.ParseRoleClaims(context.Background(), jwt.MapClaims{})
require.Nil(t, err)
@@ -70,7 +70,7 @@ func TestEnterpriseParseRoleClaims(t *testing.T) {
t.Parallel()
mgr := runtimeconfig.NewManager()
s := enidpsync.NewSync(slogtest.Make(t, nil), mgr, entitled, idpsync.DeploymentSyncSettings{
s := enidpsync.NewSync(testutil.Logger(t), mgr, entitled, idpsync.DeploymentSyncSettings{
SiteRoleField: "roles",
SiteRoleMapping: map[string][]string{},
SiteDefaultRoles: []string{rbac.RoleTemplateAdmin().Name},
@@ -92,7 +92,7 @@ func TestEnterpriseParseRoleClaims(t *testing.T) {
t.Parallel()
mgr := runtimeconfig.NewManager()
s := enidpsync.NewSync(slogtest.Make(t, nil), mgr, entitled, idpsync.DeploymentSyncSettings{
s := enidpsync.NewSync(testutil.Logger(t), mgr, entitled, idpsync.DeploymentSyncSettings{
SiteRoleField: "roles",
SiteRoleMapping: map[string][]string{
"foo": {rbac.RoleAuditor().Name, rbac.RoleUserAdmin().Name},
@@ -121,7 +121,7 @@ func TestEnterpriseParseRoleClaims(t *testing.T) {
t.Parallel()
mgr := runtimeconfig.NewManager()
s := enidpsync.NewSync(slogtest.Make(t, nil), mgr, entitled, idpsync.DeploymentSyncSettings{
s := enidpsync.NewSync(testutil.Logger(t), mgr, entitled, idpsync.DeploymentSyncSettings{
SiteRoleField: "roles",
SiteRoleMapping: map[string][]string{
"foo": {rbac.RoleOwner().Name, rbac.RoleAuditor().Name},
+1 -2
View File
@@ -14,7 +14,6 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/apiversion"
"github.com/coder/coder/v2/buildinfo"
@@ -398,7 +397,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
},
ProvisionerDaemonPSK: provPSK,
})
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
defer cancel()
@@ -10,7 +10,6 @@ import (
"github.com/stretchr/testify/require"
"golang.org/x/xerrors"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/database/dbgen"
"github.com/coder/coder/v2/coderd/database/dbmem"
@@ -57,7 +56,7 @@ func TestProxyHealth_Unregistered(t *testing.T) {
ph, err := proxyhealth.New(&proxyhealth.Options{
Interval: 0,
DB: db,
Logger: slogtest.Make(t, nil),
Logger: testutil.Logger(t),
})
require.NoError(t, err, "failed to create proxy health")
@@ -96,7 +95,7 @@ func TestProxyHealth_Unhealthy(t *testing.T) {
ph, err := proxyhealth.New(&proxyhealth.Options{
Interval: 0,
DB: db,
Logger: slogtest.Make(t, nil),
Logger: testutil.Logger(t),
Client: srvBadReport.Client(),
})
require.NoError(t, err, "failed to create proxy health")
@@ -131,7 +130,7 @@ func TestProxyHealth_Reachable(t *testing.T) {
ph, err := proxyhealth.New(&proxyhealth.Options{
Interval: 0,
DB: db,
Logger: slogtest.Make(t, nil),
Logger: testutil.Logger(t),
Client: srv.Client(),
})
require.NoError(t, err, "failed to create proxy health")
@@ -167,7 +166,7 @@ func TestProxyHealth_Unreachable(t *testing.T) {
ph, err := proxyhealth.New(&proxyhealth.Options{
Interval: 0,
DB: db,
Logger: slogtest.Make(t, nil),
Logger: testutil.Logger(t),
Client: cli,
})
require.NoError(t, err, "failed to create proxy health")
+2 -5
View File
@@ -8,9 +8,6 @@ import (
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/coderd/database/dbtestutil"
"github.com/coder/coder/v2/codersdk"
@@ -120,7 +117,7 @@ func TestReplicas(t *testing.T) {
conn, err := workspacesdk.New(secondClient).
DialAgent(context.Background(), r.sdkAgent.ID, &workspacesdk.DialAgentOptions{
BlockEndpoints: true,
Logger: slogtest.Make(t, nil).Leveled(slog.LevelDebug),
Logger: testutil.Logger(t),
})
require.NoError(t, err)
require.Eventually(t, func() bool {
@@ -167,7 +164,7 @@ func TestReplicas(t *testing.T) {
conn, err := workspacesdk.New(secondClient).
DialAgent(context.Background(), r.sdkAgent.ID, &workspacesdk.DialAgentOptions{
BlockEndpoints: true,
Logger: slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug),
Logger: testutil.Logger(t).Named("client"),
})
require.NoError(t, err)
require.Eventually(t, func() bool {
+1 -2
View File
@@ -10,7 +10,6 @@ import (
"github.com/google/uuid"
"github.com/stretchr/testify/require"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/agent"
"github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/codersdk"
@@ -138,7 +137,7 @@ func setupWorkspaceAgent(t *testing.T, client *codersdk.Client, user codersdk.Cr
agentClient.SetSessionToken(authToken)
agnt := agent.New(agent.Options{
Client: agentClient,
Logger: slogtest.Make(t, nil).Named("agent"),
Logger: testutil.Logger(t).Named("agent"),
})
t.Cleanup(func() {
_ = agnt.Close()
+15 -17
View File
@@ -17,8 +17,6 @@ import (
"tailscale.com/derp/derphttp"
"tailscale.com/types/key"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/enterprise/derpmesh"
"github.com/coder/coder/v2/tailnet"
"github.com/coder/coder/v2/testutil"
@@ -49,19 +47,19 @@ func TestDERPMesh(t *testing.T) {
firstServer, firstServerURL := startDERP(t, tlsConfig)
defer firstServer.Close()
secondServer, secondServerURL := startDERP(t, tlsConfig)
firstMesh := derpmesh.New(slogtest.Make(t, nil).Named("first").Leveled(slog.LevelDebug), firstServer, tlsConfig)
firstMesh := derpmesh.New(testutil.Logger(t).Named("first"), firstServer, tlsConfig)
firstMesh.SetAddresses([]string{secondServerURL}, false)
secondMesh := derpmesh.New(slogtest.Make(t, nil).Named("second").Leveled(slog.LevelDebug), secondServer, tlsConfig)
secondMesh := derpmesh.New(testutil.Logger(t).Named("second"), secondServer, tlsConfig)
secondMesh.SetAddresses([]string{firstServerURL}, false)
defer firstMesh.Close()
defer secondMesh.Close()
first := key.NewNode()
second := key.NewNode()
firstClient, err := derphttp.NewClient(first, secondServerURL, tailnet.Logger(slogtest.Make(t, nil)))
firstClient, err := derphttp.NewClient(first, secondServerURL, tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
firstClient.TLSConfig = tlsConfig
secondClient, err := derphttp.NewClient(second, firstServerURL, tailnet.Logger(slogtest.Make(t, nil)))
secondClient, err := derphttp.NewClient(second, firstServerURL, tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
secondClient.TLSConfig = tlsConfig
err = secondClient.Connect(context.Background())
@@ -95,7 +93,7 @@ func TestDERPMesh(t *testing.T) {
// This tests messages passing through multiple DERP servers.
t.Parallel()
server, serverURL := startDERP(t, tlsConfig)
mesh := derpmesh.New(slogtest.Make(t, nil).Named("first").Leveled(slog.LevelDebug), server, tlsConfig)
mesh := derpmesh.New(testutil.Logger(t).Named("first"), server, tlsConfig)
mesh.SetAddresses([]string{"http://fake.com"}, false)
// This should trigger a removal...
mesh.SetAddresses([]string{}, false)
@@ -103,10 +101,10 @@ func TestDERPMesh(t *testing.T) {
first := key.NewNode()
second := key.NewNode()
firstClient, err := derphttp.NewClient(first, serverURL, tailnet.Logger(slogtest.Make(t, nil)))
firstClient, err := derphttp.NewClient(first, serverURL, tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
firstClient.TLSConfig = tlsConfig
secondClient, err := derphttp.NewClient(second, serverURL, tailnet.Logger(slogtest.Make(t, nil)))
secondClient, err := derphttp.NewClient(second, serverURL, tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
secondClient.TLSConfig = tlsConfig
err = secondClient.Connect(context.Background())
@@ -141,7 +139,7 @@ func TestDERPMesh(t *testing.T) {
serverURLs := make([]string, 0, 20)
for i := 0; i < 20; i++ {
server, url := startDERP(t, tlsConfig)
mesh := derpmesh.New(slogtest.Make(t, nil).Named("mesh").Leveled(slog.LevelDebug), server, tlsConfig)
mesh := derpmesh.New(testutil.Logger(t).Named("mesh"), server, tlsConfig)
t.Cleanup(func() {
_ = server.Close()
_ = mesh.Close()
@@ -155,10 +153,10 @@ func TestDERPMesh(t *testing.T) {
first := key.NewNode()
second := key.NewNode()
firstClient, err := derphttp.NewClient(first, serverURLs[9], tailnet.Logger(slogtest.Make(t, nil)))
firstClient, err := derphttp.NewClient(first, serverURLs[9], tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
firstClient.TLSConfig = tlsConfig
secondClient, err := derphttp.NewClient(second, serverURLs[16], tailnet.Logger(slogtest.Make(t, nil)))
secondClient, err := derphttp.NewClient(second, serverURLs[16], tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
secondClient.TLSConfig = tlsConfig
err = secondClient.Connect(context.Background())
@@ -193,9 +191,9 @@ func TestDERPMesh(t *testing.T) {
firstServer, firstServerURL := startDERP(t, tlsConfig)
defer firstServer.Close()
secondServer, secondServerURL := startDERP(t, tlsConfig)
firstMesh := derpmesh.New(slogtest.Make(t, nil).Named("first").Leveled(slog.LevelDebug), firstServer, tlsConfig)
firstMesh := derpmesh.New(testutil.Logger(t).Named("first"), firstServer, tlsConfig)
firstMesh.SetAddresses([]string{secondServerURL}, false)
secondMesh := derpmesh.New(slogtest.Make(t, nil).Named("second").Leveled(slog.LevelDebug), secondServer, tlsConfig)
secondMesh := derpmesh.New(testutil.Logger(t).Named("second"), secondServer, tlsConfig)
// Ensures that the client properly re-adds the address after it's removed.
secondMesh.SetAddresses([]string{firstServerURL}, true)
secondMesh.SetAddresses([]string{}, true)
@@ -205,10 +203,10 @@ func TestDERPMesh(t *testing.T) {
first := key.NewNode()
second := key.NewNode()
firstClient, err := derphttp.NewClient(first, secondServerURL, tailnet.Logger(slogtest.Make(t, nil)))
firstClient, err := derphttp.NewClient(first, secondServerURL, tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
firstClient.TLSConfig = tlsConfig
secondClient, err := derphttp.NewClient(second, firstServerURL, tailnet.Logger(slogtest.Make(t, nil)))
secondClient, err := derphttp.NewClient(second, firstServerURL, tailnet.Logger(testutil.Logger(t)))
require.NoError(t, err)
secondClient.TLSConfig = tlsConfig
err = secondClient.Connect(context.Background())
@@ -258,7 +256,7 @@ func recvData(t *testing.T, client *derphttp.Client) []byte {
}
func startDERP(t *testing.T, tlsConfig *tls.Config) (*derp.Server, string) {
logf := tailnet.Logger(slogtest.Make(t, nil))
logf := tailnet.Logger(testutil.Logger(t))
d := derp.NewServer(key.NewNode(), logf)
d.SetMeshKey("some-key")
server := httptest.NewUnstartedServer(derphttp.Handler(d))
@@ -10,7 +10,6 @@ import (
"go.uber.org/goleak"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/enterprise/provisionerd"
"github.com/coder/coder/v2/provisioner/echo"
@@ -39,7 +38,7 @@ func TestRemoteConnector_Mainline(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
exec := &testExecutor{
t: t,
logger: logger,
@@ -93,7 +92,7 @@ func TestRemoteConnector_BadToken(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
exec := &testExecutor{
t: t,
logger: logger,
@@ -123,7 +122,7 @@ func TestRemoteConnector_BadJobID(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
exec := &testExecutor{
t: t,
logger: logger,
@@ -155,7 +154,7 @@ func TestRemoteConnector_BadCert(t *testing.T) {
require.NoError(t, err)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
exec := &testExecutor{
t: t,
logger: logger,
@@ -185,7 +184,7 @@ func TestRemoteConnector_Fuzz(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
exec := newFuzzExecutor(t, logger)
uut, err := provisionerd.NewRemoteConnector(ctx, logger.Named("connector"), exec)
require.NoError(t, err)
@@ -222,7 +221,7 @@ func TestRemoteConnector_CancelConnect(t *testing.T) {
t.Parallel()
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitMedium)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
exec := &testExecutor{
t: t,
logger: logger,
+8 -9
View File
@@ -15,7 +15,6 @@ import (
"github.com/stretchr/testify/require"
"go.uber.org/goleak"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/database/dbmem"
"github.com/coder/coder/v2/coderd/database/dbtestutil"
@@ -46,7 +45,7 @@ func TestReplica(t *testing.T) {
defer cancel()
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, nil)
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, nil)
require.NoError(t, err)
<-closeChan
_ = server.Close()
@@ -73,7 +72,7 @@ func TestReplica(t *testing.T) {
require.NoError(t, err)
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, &replicasync.Options{
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, &replicasync.Options{
RelayAddress: "http://169.254.169.254",
})
require.NoError(t, err)
@@ -118,7 +117,7 @@ func TestReplica(t *testing.T) {
require.NoError(t, err)
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, &replicasync.Options{
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, &replicasync.Options{
RelayAddress: "http://169.254.169.254",
TLSConfig: tlsConfig,
})
@@ -146,7 +145,7 @@ func TestReplica(t *testing.T) {
require.NoError(t, err)
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, &replicasync.Options{
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, &replicasync.Options{
PeerTimeout: 1 * time.Millisecond,
RelayAddress: "http://127.0.0.1:1",
})
@@ -165,7 +164,7 @@ func TestReplica(t *testing.T) {
db, pubsub := dbtestutil.NewDB(t)
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, nil)
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, nil)
require.NoError(t, err)
defer server.Close()
dh := &derpyHandler{}
@@ -200,7 +199,7 @@ func TestReplica(t *testing.T) {
require.NoError(t, err)
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, &replicasync.Options{
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, &replicasync.Options{
RelayAddress: "google.com",
CleanupInterval: time.Millisecond,
})
@@ -221,7 +220,7 @@ func TestReplica(t *testing.T) {
// configuration tweaking.
db := dbmem.New()
pubsub := pubsub.NewInMemory()
logger := slogtest.Make(t, nil)
logger := testutil.Logger(t)
dh := &derpyHandler{}
defer dh.requireOnlyDERPPaths(t)
srv := httptest.NewServer(dh)
@@ -260,7 +259,7 @@ func TestReplica(t *testing.T) {
db, pubsub := dbtestutil.NewDB(t)
ctx, cancelCtx := context.WithCancel(context.Background())
defer cancelCtx()
server, err := replicasync.New(ctx, slogtest.Make(t, nil), db, pubsub, &replicasync.Options{
server, err := replicasync.New(ctx, testutil.Logger(t), db, pubsub, &replicasync.Options{
RelayAddress: "google.com",
CleanupInterval: time.Millisecond,
UpdateInterval: time.Millisecond,
+2 -4
View File
@@ -6,8 +6,6 @@ import (
"github.com/stretchr/testify/require"
"cdr.dev/slog"
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/database/dbtestutil"
"github.com/coder/coder/v2/enterprise/tailnet"
agpltest "github.com/coder/coder/v2/tailnet/test"
@@ -22,7 +20,7 @@ func TestPGCoordinator_ReadyForHandshake_OK(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coord1, err := tailnet.NewPGCoord(ctx, logger.Named("coord1"), ps, store)
require.NoError(t, err)
defer coord1.Close()
@@ -38,7 +36,7 @@ func TestPGCoordinator_ReadyForHandshake_NoPermission(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coord1, err := tailnet.NewPGCoord(ctx, logger.Named("coord1"), ps, store)
require.NoError(t, err)
defer coord1.Close()
+3 -3
View File
@@ -44,7 +44,7 @@ func TestHeartbeats_Cleanup(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
mStore.EXPECT().CleanTailnetCoordinators(gomock.Any()).Times(2).Return(nil)
mStore.EXPECT().CleanTailnetLostPeers(gomock.Any()).Times(2).Return(nil)
@@ -77,7 +77,7 @@ func TestHeartbeats_recvBeat_resetSkew(t *testing.T) {
t.Parallel()
ctx := testutil.Context(t, testutil.WaitShort)
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
mClock := quartz.NewMock(t)
trap := mClock.Trap().Until("heartbeats", "resetExpiryTimerWithLock")
defer trap.Close()
@@ -133,7 +133,7 @@ func TestHeartbeats_LostCoordinator_MarkLost(t *testing.T) {
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
uut := &heartbeats{
ctx: ctx,
+18 -18
View File
@@ -42,7 +42,7 @@ func TestPGCoordinatorSingle_ClientWithoutAgent(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -77,7 +77,7 @@ func TestPGCoordinatorSingle_AgentWithoutClients(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -111,7 +111,7 @@ func TestPGCoordinatorSingle_AgentInvalidIP(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -138,7 +138,7 @@ func TestPGCoordinatorSingle_AgentInvalidIPBits(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -165,7 +165,7 @@ func TestPGCoordinatorSingle_AgentValidIP(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -204,7 +204,7 @@ func TestPGCoordinatorSingle_AgentWithClient(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -253,7 +253,7 @@ func TestPGCoordinatorSingle_MissedHeartbeats(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
mClock := quartz.NewMock(t)
afTrap := mClock.Trap().AfterFunc("heartbeats", "recvBeat")
defer afTrap.Close()
@@ -338,7 +338,7 @@ func TestPGCoordinatorSingle_MissedHeartbeats_NoDrop(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
@@ -384,7 +384,7 @@ func TestPGCoordinatorSingle_SendsHeartbeats(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
mu := sync.Mutex{}
heartbeats := []time.Time{}
@@ -434,7 +434,7 @@ func TestPGCoordinatorDual_Mainline(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coord1, err := tailnet.NewPGCoord(ctx, logger.Named("coord1"), ps, store)
require.NoError(t, err)
defer coord1.Close()
@@ -532,7 +532,7 @@ func TestPGCoordinator_MultiCoordinatorAgent(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coord1, err := tailnet.NewPGCoord(ctx, logger.Named("coord1"), ps, store)
require.NoError(t, err)
defer coord1.Close()
@@ -665,7 +665,7 @@ func TestPGCoordinator_Node_Empty(t *testing.T) {
ctrl := gomock.NewController(t)
mStore := dbmock.NewMockStore(ctrl)
ps := pubsub.NewInMemory()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
id := uuid.New()
mStore.EXPECT().GetTailnetPeers(gomock.Any(), id).Times(1).Return(nil, nil)
@@ -700,7 +700,7 @@ func TestPGCoordinator_BidirectionalTunnels(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -715,7 +715,7 @@ func TestPGCoordinator_GracefulDisconnect(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -730,7 +730,7 @@ func TestPGCoordinator_Lost(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -745,7 +745,7 @@ func TestPGCoordinator_NoDeleteOnClose(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
coordinator, err := tailnet.NewPGCoord(ctx, logger, ps, store)
require.NoError(t, err)
defer coordinator.Close()
@@ -867,7 +867,7 @@ func TestPGCoordinatorDual_PeerReconnect(t *testing.T) {
store, ps := dbtestutil.NewDB(t)
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitSuperLong)
defer cancel()
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
// Create two coordinators, 1 for each peer.
c1, err := tailnet.NewPGCoord(ctx, logger, ps, store)
@@ -923,7 +923,7 @@ func TestPGCoordinatorPropogatedPeerContext(t *testing.T) {
ctx := testutil.Context(t, testutil.WaitShort)
store, ps := dbtestutil.NewDB(t)
logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug)
logger := testutil.Logger(t)
peerCtx := context.WithValue(ctx, agpltest.FakeSubjectKey{}, struct{}{})
peerID := uuid.UUID{0x01}