mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
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:
@@ -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{
|
||||
|
||||
@@ -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,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},
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user