返回 DeepSeek-Reasonix
dotenv_test.go
根目录 / desktop / dotenv_test.go
1 package main
2
3 import (
4 "os"
5 "path/filepath"
6 "strings"
7 "testing"
8
9 "reasonix/internal/config"
10 )
11
12 func TestLegacyHomeEnvProviderKeyIsNotPromoted(t *testing.T) {
13 home := isolateDesktopUserDirs(t)
14 homeEnv := filepath.Join(home, ".env")
15 if err := os.WriteFile(homeEnv, []byte("DEEPSEEK_API_KEY=sk-test\nNPM_TOKEN=secret\n"), 0o600); err != nil {
16 t.Fatal(err)
17 }
18
19 if _, err := config.LoadForRoot(t.TempDir()); err != nil {
20 t.Fatalf("LoadForRoot: %v", err)
21 }
22 if data, err := os.ReadFile(config.UserCredentialsPath()); err == nil && strings.Contains(string(data), "DEEPSEEK_API_KEY") {
23 t.Errorf("legacy ~/.env provider key must not be imported:\n%s", data)
24 }
25 rest, _ := os.ReadFile(homeEnv)
26 if !strings.Contains(string(rest), "DEEPSEEK_API_KEY=sk-test") || !strings.Contains(string(rest), "NPM_TOKEN=secret") {
27 t.Errorf("legacy ~/.env should be left untouched:\n%s", rest)
28 }
29 }
30
30 lines GO