mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-14 03:52:26 +08:00
Keep the internal platform ID opencode_go. Product surface is OpenCode with account_mode zen|go, model-aware routing across Chat Completions, Responses, and Anthropic Messages, and X-OpenCode-Session derived from prompt_cache_key / metadata.user_id so prompt cache can hit. Unmatched models fall back to /v1/chat/completions. Related to #6742.
30 lines
1.3 KiB
Go
30 lines
1.3 KiB
Go
package migrations
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestOpenCodeGoPlatformMigration(t *testing.T) {
|
|
content, err := FS.ReadFile("238_opencode_go_platform.sql")
|
|
require.NoError(t, err)
|
|
|
|
sql := strings.Join(strings.Fields(string(content)), " ")
|
|
require.Contains(t, sql, "user_platform_quotas_platform_check")
|
|
require.Contains(t, sql, "composite_model_routes_target_platform_check")
|
|
require.Contains(t, sql, "channel_monitors_provider_check")
|
|
require.Contains(t, sql, "channel_monitor_request_templates_provider_check")
|
|
require.Contains(t, sql, "'opencode_go'")
|
|
require.Contains(t, sql, "'minimax'")
|
|
require.Contains(t, sql, "position('opencode_go' IN monitor_constraint_def) = 0")
|
|
require.Contains(t, sql, "position('opencode_go' IN template_constraint_def) = 0")
|
|
require.Contains(t, sql,
|
|
"CHECK (platform IN ('anthropic', 'openai', 'gemini', 'antigravity', 'grok', 'kimi', 'zhipu', 'deepseek', 'minimax', 'opencode_go'))")
|
|
require.Contains(t, sql,
|
|
"CHECK (target_platform IN ('anthropic', 'openai', 'gemini', 'antigravity', 'grok', 'kimi', 'zhipu', 'deepseek', 'minimax', 'opencode_go'))")
|
|
require.Contains(t, sql,
|
|
"CHECK (provider IN ('openai', 'anthropic', 'gemini', 'grok', 'antigravity', 'kimi', 'zhipu', 'deepseek', 'minimax', 'opencode_go'))")
|
|
}
|