MCPcopy Create free account
hub / github.com/coder/agentapi / TestServerCmd_AllEnvVars

Function TestServerCmd_AllEnvVars

cmd/server/server_test.go:255–288  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

253}
254
255func TestServerCmd_AllEnvVars(t *testing.T) {
256 tests := []struct {
257 name string
258 envVar string
259 envValue string
260 expected any
261 getter func() any
262 }{
263 {"AGENTAPI_TYPE", "AGENTAPI_TYPE", "claude", "claude", func() any { return viper.GetString(FlagType) }},
264 {"AGENTAPI_PORT", "AGENTAPI_PORT", "8080", 8080, func() any { return viper.GetInt(FlagPort) }},
265 {"AGENTAPI_PRINT_OPENAPI", "AGENTAPI_PRINT_OPENAPI", "true", true, func() any { return viper.GetBool(FlagPrintOpenAPI) }},
266 {"AGENTAPI_CHAT_BASE_PATH", "AGENTAPI_CHAT_BASE_PATH", "/api", "/api", func() any { return viper.GetString(FlagChatBasePath) }},
267 {"AGENTAPI_TERM_WIDTH", "AGENTAPI_TERM_WIDTH", "120", uint16(120), func() any { return viper.GetUint16(FlagTermWidth) }},
268 {"AGENTAPI_TERM_HEIGHT", "AGENTAPI_TERM_HEIGHT", "500", uint16(500), func() any { return viper.GetUint16(FlagTermHeight) }},
269 {"AGENTAPI_ALLOWED_HOSTS", "AGENTAPI_ALLOWED_HOSTS", "localhost example.com", []string{"localhost", "example.com"}, func() any { return viper.GetStringSlice(FlagAllowedHosts) }},
270 {"AGENTAPI_ALLOWED_ORIGINS", "AGENTAPI_ALLOWED_ORIGINS", "https://example.com http://localhost:3000", []string{"https://example.com", "http://localhost:3000"}, func() any { return viper.GetStringSlice(FlagAllowedOrigins) }},
271 }
272
273 for _, tt := range tests {
274 t.Run(tt.name, func(t *testing.T) {
275 isolateViper(t)
276 t.Setenv(tt.envVar, tt.envValue)
277
278 serverCmd := CreateServerCmd()
279 setupCommandOutput(t, serverCmd)
280 serverCmd.SetArgs([]string{"--exit", "dummy-command"})
281 if err := serverCmd.Execute(); err != nil {
282 t.Fatalf("Failed to execute server command: %v", err)
283 }
284
285 assert.Equal(t, tt.expected, tt.getter())
286 })
287 }
288}
289
290func TestServerCmd_ArgsPrecedenceOverEnv(t *testing.T) {
291 tests := []struct {

Callers

nothing calls this directly

Calls 3

isolateViperFunction · 0.85
CreateServerCmdFunction · 0.85
setupCommandOutputFunction · 0.85

Tested by

no test coverage detected