MCPcopy Create free account
hub / github.com/basecamp/hey-cli / TestSourceTracking

Function TestSourceTracking

internal/config/config_test.go:120–151  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

118}
119
120func TestSourceTracking(t *testing.T) {
121 tmp := t.TempDir()
122 t.Setenv("XDG_CONFIG_HOME", tmp)
123
124 // Start with default, then override with env, then flag
125 t.Setenv("HEY_BASE_URL", "")
126 cfg, err := Load()
127 if err != nil {
128 t.Fatalf("Load: %v", err)
129 }
130 if cfg.SourceOf("base_url") != SourceDefault {
131 t.Errorf("initial source = %q, want %q", cfg.SourceOf("base_url"), SourceDefault)
132 }
133
134 // Env override
135 t.Setenv("HEY_BASE_URL", "https://env.hey.com")
136 cfg, err = Load()
137 if err != nil {
138 t.Fatalf("Load: %v", err)
139 }
140 if cfg.SourceOf("base_url") != SourceEnv {
141 t.Errorf("env source = %q, want %q", cfg.SourceOf("base_url"), SourceEnv)
142 }
143
144 // Flag override on top
145 if err := cfg.SetFromFlag("base_url", "https://flag.hey.com"); err != nil {
146 t.Fatalf("SetFromFlag: %v", err)
147 }
148 if cfg.SourceOf("base_url") != SourceFlag {
149 t.Errorf("flag source = %q, want %q", cfg.SourceOf("base_url"), SourceFlag)
150 }
151}

Callers

nothing calls this directly

Calls 3

LoadFunction · 0.85
SourceOfMethod · 0.80
SetFromFlagMethod · 0.80

Tested by

no test coverage detected