package testsuite import ( "sort" "testing" ) func TestRunnerCasesRegistryExactSet(t *testing.T) { r := &Runner{} got := r.cases() wantIDs := []string{ "healthz_ok", "readyz_ok", "models_openai", "model_openai_by_id", "models_claude", "admin_login_verify", "admin_queue_status", "chat_nonstream_basic", "chat_stream_basic", "responses_nonstream_basic", "responses_stream_basic", "embeddings_contract", "reasoner_stream", "toolcall_nonstream", "toolcall_stream", "anthropic_messages_nonstream", "anthropic_messages_stream", "anthropic_count_tokens", "admin_account_test_single", "concurrency_burst", "concurrency_threshold_limit", "stream_abort_release", "toolcall_stream_mixed", "sse_json_integrity", "error_contract_invalid_model", "error_contract_missing_messages", "admin_unauthorized_contract", "config_write_isolated", "token_refresh_managed_account", "error_contract_invalid_key", } if len(got) != len(wantIDs) { t.Fatalf("unexpected case count: got=%d want=%d", len(got), len(wantIDs)) } wantSet := map[string]struct{}{} for _, id := range wantIDs { wantSet[id] = struct{}{} } gotSet := map[string]struct{}{} for i, cs := range got { if cs.ID == "" { t.Fatalf("case[%d] has empty ID", i) } if cs.Run == nil { t.Fatalf("case[%d] (%s) has nil Run", i, cs.ID) } if _, exists := gotSet[cs.ID]; exists { t.Fatalf("duplicate case ID: %s", cs.ID) } gotSet[cs.ID] = struct{}{} } var missing []string for id := range wantSet { if _, ok := gotSet[id]; !ok { missing = append(missing, id) } } var extra []string for id := range gotSet { if _, ok := wantSet[id]; !ok { extra = append(extra, id) } } sort.Strings(missing) sort.Strings(extra) if len(missing) > 0 || len(extra) > 0 { t.Fatalf("registry mismatch: missing=%v extra=%v", missing, extra) } }