fix: serve test derp map locally (#14490)

This commit is contained in:
Ethan
2024-08-30 18:43:51 +10:00
committed by GitHub
parent 628750232f
commit 851df91991
3 changed files with 20 additions and 2 deletions
+1
View File
@@ -41,6 +41,7 @@ func TestIPV4Check(t *testing.T) {
}, },
}) })
})) }))
t.Cleanup(srv.Close)
ctx := testutil.Context(t, testutil.WaitShort) ctx := testutil.Context(t, testutil.WaitShort)
ranges, err := FetchAWSIPRanges(ctx, srv.URL) ranges, err := FetchAWSIPRanges(ctx, srv.URL)
require.NoError(t, err) require.NoError(t, err)
+9 -1
View File
@@ -45,10 +45,12 @@ import (
"github.com/coder/coder/v2/cli/config" "github.com/coder/coder/v2/cli/config"
"github.com/coder/coder/v2/coderd/coderdtest" "github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/coderd/database/dbtestutil" "github.com/coder/coder/v2/coderd/database/dbtestutil"
"github.com/coder/coder/v2/coderd/httpapi"
"github.com/coder/coder/v2/coderd/telemetry" "github.com/coder/coder/v2/coderd/telemetry"
"github.com/coder/coder/v2/codersdk" "github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/cryptorand" "github.com/coder/coder/v2/cryptorand"
"github.com/coder/coder/v2/pty/ptytest" "github.com/coder/coder/v2/pty/ptytest"
"github.com/coder/coder/v2/tailnet/tailnettest"
"github.com/coder/coder/v2/testutil" "github.com/coder/coder/v2/testutil"
) )
@@ -1832,6 +1834,12 @@ func TestServer_InvalidDERP(t *testing.T) {
func TestServer_DisabledDERP(t *testing.T) { func TestServer_DisabledDERP(t *testing.T) {
t.Parallel() t.Parallel()
derpMap, _ := tailnettest.RunDERPAndSTUN(t)
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
httpapi.Write(context.Background(), w, http.StatusOK, derpMap)
}))
t.Cleanup(srv.Close)
ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitShort) ctx, cancelFunc := context.WithTimeout(context.Background(), testutil.WaitShort)
defer cancelFunc() defer cancelFunc()
@@ -1843,7 +1851,7 @@ func TestServer_DisabledDERP(t *testing.T) {
"--http-address", ":0", "--http-address", ":0",
"--access-url", "http://example.com", "--access-url", "http://example.com",
"--derp-server-enable=false", "--derp-server-enable=false",
"--derp-config-url", "https://controlplane.tailscale.com/derpmap/default", "--derp-config-url", srv.URL,
) )
clitest.Start(t, inv.WithContext(ctx)) clitest.Start(t, inv.WithContext(ctx))
accessURL := waitAccessURL(t, cfg) accessURL := waitAccessURL(t, cfg)
+10 -1
View File
@@ -5,6 +5,7 @@ import (
"context" "context"
"fmt" "fmt"
"net/http" "net/http"
"net/http/httptest"
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
@@ -16,7 +17,9 @@ import (
"go.uber.org/goleak" "go.uber.org/goleak"
"cdr.dev/slog/sloggers/slogtest" "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/coderd/rbac/policy"
"github.com/coder/coder/v2/tailnet/tailnettest"
agplaudit "github.com/coder/coder/v2/coderd/audit" agplaudit "github.com/coder/coder/v2/coderd/audit"
"github.com/coder/coder/v2/coderd/coderdtest" "github.com/coder/coder/v2/coderd/coderdtest"
@@ -456,13 +459,19 @@ func TestMultiReplica_EmptyRelayAddress(t *testing.T) {
func TestMultiReplica_EmptyRelayAddress_DisabledDERP(t *testing.T) { func TestMultiReplica_EmptyRelayAddress_DisabledDERP(t *testing.T) {
t.Parallel() t.Parallel()
derpMap, _ := tailnettest.RunDERPAndSTUN(t)
srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
httpapi.Write(context.Background(), w, http.StatusOK, derpMap)
}))
t.Cleanup(srv.Close)
ctx := testutil.Context(t, testutil.WaitLong) ctx := testutil.Context(t, testutil.WaitLong)
db, ps := dbtestutil.NewDB(t) db, ps := dbtestutil.NewDB(t)
logger := slogtest.Make(t, nil) logger := slogtest.Make(t, nil)
dv := coderdtest.DeploymentValues(t) dv := coderdtest.DeploymentValues(t)
dv.DERP.Server.Enable = serpent.Bool(false) dv.DERP.Server.Enable = serpent.Bool(false)
dv.DERP.Config.URL = serpent.String("https://controlplane.tailscale.com/derpmap/default") dv.DERP.Config.URL = serpent.String(srv.URL)
_, _ = coderdenttest.New(t, &coderdenttest.Options{ _, _ = coderdenttest.New(t, &coderdenttest.Options{
EntitlementsUpdateInterval: 25 * time.Millisecond, EntitlementsUpdateInterval: 25 * time.Millisecond,