package agent

import (
	"bytes"
	"testing"

	"github.com/stretchr/testify/require"
)

func TestDecodeStoredAgentLLMColumnsFallsBackToLegacyCredentialKey(t *testing.T) {
	t.Parallel()

	primaryKey := bytes.Repeat([]byte{1}, 32)
	legacyKey := bytes.Repeat([]byte{2}, 32)
	ciphertext, err := EncryptAgentCredential(legacyKey, "legacy-api-key")
	require.NoError(t, err)

	llm, err := DecodeStoredAgentLLMColumnsWithFallback(primaryKey, [][]byte{legacyKey}, AgentLLMModeAgentTeamProxy, "https://llm.example.com", ciphertext, []byte(`{}`), "openai")
	require.NoError(t, err)
	require.Equal(t, "legacy-api-key", llm.APIKey)
	require.Equal(t, AgentLLMModeAgentTeamProxy, llm.Mode)
	require.Equal(t, "https://llm.example.com", llm.BaseURL)
	require.Equal(t, "openai", llm.WireAPI)
}
