(t *testing.T)
| 366 | } |
| 367 | |
| 368 | func TestMixed_ConfigurationScenarios(t *testing.T) { |
| 369 | t.Run("some env, some cli, some defaults", func(t *testing.T) { |
| 370 | isolateViper(t) |
| 371 | |
| 372 | // Set some env vars |
| 373 | t.Setenv("AGENTAPI_TYPE", "goose") |
| 374 | t.Setenv("AGENTAPI_TERM_WIDTH", "120") |
| 375 | |
| 376 | // Set some CLI args |
| 377 | serverCmd := CreateServerCmd() |
| 378 | setupCommandOutput(t, serverCmd) |
| 379 | serverCmd.SetArgs([]string{"--port", "9999", "--print-openapi", "--exit", "dummy-command"}) |
| 380 | if err := serverCmd.Execute(); err != nil { |
| 381 | t.Fatalf("Failed to execute server command: %v", err) |
| 382 | } |
| 383 | |
| 384 | // Verify mixed configuration |
| 385 | assert.Equal(t, "goose", viper.GetString(FlagType)) // from env |
| 386 | assert.Equal(t, 9999, viper.GetInt(FlagPort)) // from CLI |
| 387 | assert.Equal(t, true, viper.GetBool(FlagPrintOpenAPI)) // from CLI |
| 388 | assert.Equal(t, "/chat", viper.GetString(FlagChatBasePath)) // default |
| 389 | assert.Equal(t, uint16(120), viper.GetUint16(FlagTermWidth)) // from env |
| 390 | assert.Equal(t, uint16(1000), viper.GetUint16(FlagTermHeight)) // default |
| 391 | }) |
| 392 | } |
| 393 | |
| 394 | func TestServerCmd_AllowedHosts(t *testing.T) { |
| 395 | tests := []struct { |
nothing calls this directly
no test coverage detected