MCPcopy Index your code
hub / github.com/coder/coder / TestDevConfigResolveEnv

Function TestDevConfigResolveEnv

scripts/develop/main_test.go:551–578  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

549}
550
551func TestDevConfigResolveEnv(t *testing.T) {
552 t.Setenv("CODER_SESSION_TOKEN", "leaked")
553 t.Setenv("CODER_URL", "https://leaked.example.com")
554
555 wd, _ := os.Getwd()
556 cfg := &devConfig{apiPort: 3000, accessURL: defaultAccessURL}
557 require.NoError(t, cfg.resolveEnv())
558
559 assert.Equal(t, wd, cfg.projectRoot)
560 assert.Equal(t, filepath.Join(wd, "build",
561 fmt.Sprintf("coder_%s_%s", runtime.GOOS, runtime.GOARCH)), cfg.binaryPath)
562 assert.Equal(t, filepath.Join(wd, ".coderv2"), cfg.configDir)
563 assert.Equal(t, "http://127.0.0.1:3000", cfg.accessURL)
564 assert.Equal(t, int64(3000), cfg.apiPort)
565 assert.Zero(t, cfg.portOffset)
566
567 // Should have unset leaked env vars.
568 assert.Empty(t, os.Getenv("CODER_SESSION_TOKEN"))
569 assert.Empty(t, os.Getenv("CODER_URL"))
570
571 // childEnv should be populated and exclude leaked vars.
572 require.NotEmpty(t, cfg.childEnv)
573 for _, e := range cfg.childEnv {
574 k, _, _ := strings.Cut(e, "=")
575 assert.NotEqual(t, "CODER_SESSION_TOKEN", k)
576 assert.NotEqual(t, "CODER_URL", k)
577 }
578}
579
580func TestDevConfigResolveEnvUsesDefaultPortsWithoutPortOffset(t *testing.T) {
581 t.Setenv("CODER_SESSION_TOKEN", "")

Callers

nothing calls this directly

Calls 5

resolveEnvMethod · 0.95
SetenvMethod · 0.80
NotEmptyMethod · 0.80
EqualMethod · 0.45
EmptyMethod · 0.45

Tested by

no test coverage detected