返回 DeepSeek-Reasonix
meta_config_readonly_test.go
根目录 / desktop / meta_config_readonly_test.go
1 package main
2
3 import (
4 "os"
5 "testing"
6
7 "reasonix/internal/config"
8 )
9
10 func TestTabMetaExtrasRefreshDoesNotPinCredentials(t *testing.T) {
11 isolateDesktopUserDirs(t)
12 const key = "TEST_META_READ_ONLY_KEY"
13 if _, err := config.SetCredential(key, "saved-meta-key"); err != nil {
14 t.Fatal(err)
15 }
16 t.Setenv(key, "existing-environment")
17 cfg := config.Default()
18 cfg.DefaultModel = "custom/vision"
19 cfg.Agent.VisionModel = "custom/vision"
20 cfg.Providers = []config.ProviderEntry{{
21 Name: "custom", Kind: "openai", BaseURL: "https://example.invalid/v1",
22 APIKeyEnv: key, Models: []string{"vision"}, VisionModels: []string{"vision"},
23 }}
24 if err := cfg.SaveTo(config.UserConfigPath()); err != nil {
25 t.Fatal(err)
26 }
27 app := NewApp()
28 tab := &WorkspaceTab{ID: "meta-read", WorkspaceRoot: t.TempDir(), model: cfg.DefaultModel}
29 app.tabs[tab.ID] = tab
30 app.activeTabID = tab.ID
31 app.refreshTabMetaExtras(tab)
32 if got := os.Getenv(key); got != "existing-environment" {
33 t.Fatalf("metadata refresh rewrote process credential environment: %q", got)
34 }
35 extras := tab.metaExtras.Load()
36 if extras == nil || !extras.imageInputEnabled || !extras.visionFallbackEnabled {
37 t.Fatalf("credential-free metadata lost configured image capabilities: %+v", extras)
38 }
39 }
40
40 lines GO