package openai import ( "testing" "github.com/stretchr/testify/require" ) func TestDefaultModelsIncludeBareGPT56Alias(t *testing.T) { require.Contains(t, DefaultModelIDs(), "gpt-5.6") } func TestDefaultModelsIncludeGPT6Astra(t *testing.T) { require.Contains(t, DefaultModelIDs(), "gpt-6-astra") require.Contains(t, DefaultModelIDs(), "gpt-6") var displayName string for _, model := range DefaultModels { if model.ID == "gpt-6-astra" { displayName = model.DisplayName break } } require.Equal(t, "GPT-6 Astra", displayName) } func TestDefaultModelsPreferConcreteGPT56SolForAccountTests(t *testing.T) { require.NotEmpty(t, DefaultModels) require.Equal(t, "gpt-5.6-sol", DefaultModels[0].ID) } func TestDefaultModelsIncludeGPTImage25(t *testing.T) { require.Contains(t, DefaultModelIDs(), "gpt-image-2.5-flare") require.Contains(t, DefaultModelIDs(), "gpt-image-2.5-sunburst") } func TestGPT6SolLunaModelIdentity(t *testing.T) { for _, model := range []string{"gpt-6-sol", "gpt-6-luna"} { require.Contains(t, DefaultModelIDs(), model) require.True(t, IsGPT6SolOrLunaModelSpelling(model)) } require.False(t, IsGPT6SolOrLunaModelSpelling("gpt-6-astra")) require.False(t, IsGPT6SolOrLunaModelSpelling("gpt-6-solitude")) require.False(t, IsGPT6SolOrLunaModelSpelling("gpt-6-luna-preview")) } func TestGPT61SolIdentityAndEffort(t *testing.T) { require.Contains(t, DefaultModelIDs(), "gpt-6.1-sol") for _, id := range []string{"gpt-6.1-sol", "openai/gpt-6.1-sol-max", "GPT_6.1_SOL", "gpt-6.1-sol-openai-compact"} { require.True(t, IsGPT61SolModelSpelling(id), id) require.False(t, IsGPT6SolOrLunaModelSpelling(id), id) } for _, id := range []string{"gpt-6.1", "gpt-6.1-solitude", "gpt-6.1-sol-preview", "gpt-6-sol"} { require.False(t, IsGPT61SolModelSpelling(id), id) } for _, effort := range []string{"", "low", "medium", "high", "xhigh", "max"} { require.NoError(t, ValidateGPT61SolReasoningEffort("gpt-6.1-sol", effort)) } for _, effort := range []string{"none", "minimal"} { require.Error(t, ValidateGPT61SolReasoningEffort("gpt-6.1-sol", effort)) require.NoError(t, ValidateGPT61SolReasoningEffort("gpt-6-sol", effort)) } require.Contains(t, CodexBaseInstructionsForModel("gpt-6.1-sol"), "based on GPT-6") }