(t *testing.T)
| 577 | } |
| 578 | |
| 579 | func TestWarnIfAIProvidersConfiguredFromEnv(t *testing.T) { |
| 580 | t.Parallel() |
| 581 | |
| 582 | t.Run("NoProviders", func(t *testing.T) { |
| 583 | t.Parallel() |
| 584 | |
| 585 | sink := testutil.NewFakeSink(t) |
| 586 | warnIfAIProvidersConfiguredFromEnv(context.Background(), sink.Logger(), aiGatewayProviderEnvPrefix, nil) |
| 587 | |
| 588 | require.Empty(t, sink.Entries()) |
| 589 | }) |
| 590 | |
| 591 | t.Run("EmptyPrefix", func(t *testing.T) { |
| 592 | t.Parallel() |
| 593 | |
| 594 | sink := testutil.NewFakeSink(t) |
| 595 | warnIfAIProvidersConfiguredFromEnv(context.Background(), sink.Logger(), "", []codersdk.AIProviderConfig{{Type: "openai", Name: "openai"}}) |
| 596 | |
| 597 | require.Empty(t, sink.Entries()) |
| 598 | }) |
| 599 | |
| 600 | t.Run("AIGatewayPrefix", func(t *testing.T) { |
| 601 | t.Parallel() |
| 602 | |
| 603 | sink := testutil.NewFakeSink(t) |
| 604 | warnIfAIProvidersConfiguredFromEnv(context.Background(), sink.Logger(), aiGatewayProviderEnvPrefix, []codersdk.AIProviderConfig{{Type: "openai", Name: "openai"}}) |
| 605 | |
| 606 | entries := sink.Entries(func(e slog.SinkEntry) bool { |
| 607 | return e.Message == "ai provider environment variables are deprecated for provider management and only seed provider configuration at startup" |
| 608 | }) |
| 609 | require.Len(t, entries, 1) |
| 610 | require.Len(t, entries[0].Fields, 2) |
| 611 | assertFieldValue(t, entries[0].Fields, "env_prefix", aiGatewayProviderEnvPrefix) |
| 612 | assertFieldValue(t, entries[0].Fields, "replacement", "Manage AI Providers from the Coder UI or HTTP API.") |
| 613 | }) |
| 614 | |
| 615 | t.Run("AIBridgePrefix", func(t *testing.T) { |
| 616 | t.Parallel() |
| 617 | |
| 618 | sink := testutil.NewFakeSink(t) |
| 619 | warnIfAIProvidersConfiguredFromEnv(context.Background(), sink.Logger(), aiBridgeProviderEnvPrefix, []codersdk.AIProviderConfig{{Type: "openai", Name: "openai"}}) |
| 620 | |
| 621 | entries := sink.Entries(func(e slog.SinkEntry) bool { |
| 622 | return e.Message == "ai provider environment variables are deprecated for provider management and only seed provider configuration at startup" |
| 623 | }) |
| 624 | require.Len(t, entries, 1) |
| 625 | require.Len(t, entries[0].Fields, 2) |
| 626 | assertFieldValue(t, entries[0].Fields, "env_prefix", aiBridgeProviderEnvPrefix) |
| 627 | assertFieldValue(t, entries[0].Fields, "replacement", "Manage AI Providers from the Coder UI or HTTP API.") |
| 628 | }) |
| 629 | } |
| 630 | |
| 631 | func TestBuildAIProviderFromRowSetsAPIDumpDir(t *testing.T) { |
| 632 | t.Parallel() |
nothing calls this directly
no test coverage detected